Pan*_*kaj 0 c# class nested-class
我知道将一个类嵌套在另一个类中并不是一个好习惯,但是以下只是为了好玩.
我有以下代码
namespace PlayIt
{
class Class1
{
class Class2 : Class1
{
}
}
class SomeOtherClass
{
Class1 objClass1 = new Class1();
Class2 objClass2 = new Class2();
}
}
Run Code Online (Sandbox Code Playgroud)
我能够创建class1的对象而不是class2的对象,为什么呢?有没有办法访问class1之外的class2
我能够创建class1的对象而不是class2的对象,为什么呢?
两个原因:
首先,Class1隐式内部,而Class2隐式私有(因为它是嵌套的).
其次,你试图只Class2在一个没有意义的范围内使用- 你需要对其进行限定.这样可以正常工作:
namespace PlayIt
{
class Class1
{
internal class Class2 : Class1
{
}
}
class SomeOtherClass
{
Class1 objClass1 = new Class1();
Class1.Class2 objClass2 = new Class1.Class2();
}
}
Run Code Online (Sandbox Code Playgroud)