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

时间:2012-07-20 08:31:04

标签: c#

一种noobie问题,但我很好奇,我无法找到问题的答案:

我有:

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();}
}

我想将methodA()的使用仅限于我的Handler类,是否可以通过关键字或其他方式使用?

目的是让一切都通过处理程序。

谢谢:)

2 个答案:

答案 0 :(得分:1)

您必须在Handler课程中嵌套Profile,并且您可以将methodA设为私有。

答案 1 :(得分:0)

不可能使用标准手段。您可以使用变通办法:

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