无法在课程外访问嵌套课程

潘卡伊

我知道将一个类嵌套在另一个类中不是一个好习惯,但是跟随只是为了好玩。

我有以下代码

namespace PlayIt
{
    class Class1
    {
        class Class2 : Class1
        {
        }
    }

    class SomeOtherClass
    {
        Class1 objClass1 = new Class1();
        Class2 objClass2 = new Class2();
    }
}

我可以创建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();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章