如何在该类中使派生类无法访问私有成员?

Daf*_*esh 0 c# inheritance

class A
{
    private int aa = 1;
}

class B : A
{
    private int bb = 5;

    void DoStuff()
    {
        aa = bb; //Error, as it should
    }
}
Run Code Online (Sandbox Code Playgroud)

与:

class A
{
    private int aa = 1;
    class B : A
    {
        private int bb = 5;

        void DoStuff()
        {
            aa = bb; //Not an error, bummer
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

同样的东西,只是组织不同.我正在使用第二种组织我的类的方法,因为在我正在做的事情中继承类内部看起来更清晰.我的问题是,在上面的例子中,我不希望A的私有成员可以访问B,即使它在A内部.我开始明白这是系统地做到这一点,但我真的被迫如果我希望A的私人会员从B私下,请将他们分开吗?

Jus*_*ner 6

是的,如果您不想B访问A私有成员,那么您真的被迫将声明分开,因为嵌套类可以访问其包含类的私有成员.