2
我希望能夠限制哪些類可以調用另一個類的方法。我有以下內容:C#限制哪些類可以調用方法
public class A: B
{
private void DoSomething()
{
C.Method1(); // should compile
}
}
public abstract class B
{
}
public class D
{
private void DoSomething()
{
C.Method1(); // shouldn't compile
}
}
public static class C
{
public static void Method1()
{
}
public static void Method2()
{
...
Method1();
...
}
}
所有這些類都在同一個程序集中,但類B在不同的程序集中。
我的目標是爲A級,以能夠調用C.Method1,但有類d不能叫C.Method1
我想使C類父類的,以及具有A級繼承B類,但A級已經從B類繼承
方法1不中A類屬於或B.
這樣做的一個實際應用是,當方法1是一種實用工具方法,並且只能由被稱爲A級和C級
如何移動方法一類A? –
您只能通過程序集(例如'internal')或繼承(例如'protected')應用[訪問修飾符限制](http://msdn.microsoft.com/zh-cn/library/wxh6fsc7.aspx)。 C#中沒有「朋友」註釋。 – user2864740
我喜歡你的問題,但我想知道你爲什麼要這樣做。只是要知道這是一個很好的問題還是具有實際用途。 –