我有以下Java代码:
public class A {
private int var_a = 666;
public A() {
B b = new B();
b.method123();
System.out.println(b.var_b);
}
public class B {
private int var_b = 999;
public void method123() {
System.out.println(A.this.var_a);
}
}
}
得出666和999。现在,我尝试在C#中设置类似的代码,但是似乎不可能完成相同的工作。如果是这样,用C#编程时通常如何达到类似的效果?
最佳答案
您需要使内部类将外部类的实例作为构造函数参数。 (这是Java编译器实现内部类的方式)