C# 将成员添加到继承 class 的嵌套 class

C# Add member to nested class of inherited class

是否可以做这样的事情?:

class A
{
    public class B  {
        public static int x = 0;
    }
}

class subA : A
{
    public class B {
        public static int y = 1;
    }
}


// usage:

int n = subA.B.x + subA.B.y;

请注意,subA.B 应与 'A.B' 同名,并继承 A.B 的成员和一些额外的成员。

在 C# 中,嵌套 classes 与封闭 class 除了 accessibility/visiblity 没有任何关系(例如,您可以将嵌套 class 设为私有,因此它仅适用于封闭class)。 如果您需要问题中描述的行为,则需要明确地将 class B 标记为源自 A.B,如下所示:

    class subA : A
    {
        public class B : A.B
        {
            public static int y = 1;
        }
    }