C#で内部クラスから外部クラスのメンバにアクセスする方法

コンストラクタで親クラスを渡す。privateもアクセスできる

class Outer {
    int value = 100;
    Inner inner;
    public void GetInner() {
        this.inner = new Inner(this);
    }

    class Inner {
        Outer outer;

        public Inner(Outer outer) {
            this.outer = outer;
        }

        public void run() {
            this.outer.value = 100;
        }
    }
}

ref

docs.microsoft.com