C#访问修饰符:将某些方法限制为仅限于另一个类

C#访问修饰符:将某些方法限制为仅限于另一个类,c#,C#,这是一个很难回答的问题,但我很好奇,我找不到问题的答案: 我有: public class Profile { public void methodA(){} } public class User { private List<Profile> listProfiles; public void test() { App.Handler.doA(listProfiles[0]);} //let's say we have 1 profile } public class Han

这是一个很难回答的问题,但我很好奇,我找不到问题的答案:

我有:

public class Profile
{
public void methodA(){}
}

public class User
{
private List<Profile> listProfiles;
public void test() { App.Handler.doA(listProfiles[0]);} //let's say we have 1 profile
}

public class Handler
{
public void doA(Profile) { profile.methodA();}
}
公共类配置文件
{
public void methodA(){}
}
公共类用户
{
私有列表列表配置文件;
public void test(){App.Handler.doA(listProfiles[0]);}//假设我们有1个配置文件
}
公共类处理程序
{
public void doA(Profile){Profile.methodA();}
}
我想将methodA()的使用限制在我的处理程序类中,是否可以通过关键字或其他方式

目的是让所有的东西都通过处理器


谢谢:)

您必须将
处理程序
嵌套在
配置文件
类中,并且您可以将
方法a
设置为私有。

您必须将
处理程序
嵌套在
配置文件
类中,并且您可以将
方法a
设置为私有。

使用标准方法不可能。您可以使用以下变通方法:

  • 将类嵌套在其中,然后使用私钥
  • 对此类类使用单独的程序集,并通过内部关键字限制使用

    • 不可能使用标准方法。您可以使用以下变通方法:

      • 将类嵌套在其中,然后使用私钥
      • 对此类类使用单独的程序集,并通过内部关键字限制使用

      完美!今天我会学到一些东西。谢谢你,莱皮,太好了!今天我会学到一些东西。谢谢你,莱皮。