2012-07-20 46 views
1

样的noobie的问题,但我很好奇,我无法找到一个回答我的问题: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 Handler 
{ 
public void doA(Profile) { profile.methodA();} 
} 

我想限制方法A()的使用仅限于我的处理程序类,是否可以通过关键字或其他方式?

目的是让所有事情都经过处理程序。

谢谢:)

回答

1

你将不得不窝HandlerProfile类中和可以使methodA私人。

+0

完美!我今天会学到一些东西。 谢谢你leppie。 – 2012-07-20 08:45:46

+1

我认为你的意思是你已经学到了今天的东西:) – leppie 2012-07-20 08:46:44

0

不可能使用标准方法。您可以使用解决方法:

  • 在一个嵌套类然后使用私钥。
  • 使用单独的程序集为这样的类和通过内部关键字限制使用
+0

谢谢你,我选择了第一个解决方法 – 2012-07-20 08:46:33