我创建了一个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