我創建了一個ConsoleApplication來理解訪問說明符。C#內部訪問說明符,
以下是我的代碼內部,我可以從大會外部訪問此類。
namespace Assembly_1 //This is first assembly.
{
public class Base
{
//internal class
internal class B
{
public static void fnB()
{
Console.WriteLine("fnB");
}
}
}
}
namespace Assembly_2 //This is second assembly.
{
public class Derived : Assembly_1.Base
{
public class D
{
public void fnD()
{
B.fnB();//how can I access this class?
}
}
}
}
這就是我正在訪問它的地方。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Assembly_2.Derived.D d = new Assembly_2.Derived.D();
d.fnD();
}
}
}
我的問題
現在我可以訪問的B類和它的派生中像FNB()的方法。
一切工作正常。但是如何?
如何進入B類以外Assembly_1?
*現在我可以訪問類B,它的方法就像fnB()派生*你的意思是說你**不能**訪問它們? – DavidG
如果你想從組件外部訪問它,爲什麼你首先在內部標記它? – CodeCaster
你不能這就是訪問修飾符的要點,如果你想在此項目之外使用它,請將其公開化 – EpicKip