这是我的代码(只是一个揭露问题的片段):
public class A
{
class B
{
//private class
}
public int nb;
}
我累了,但为什么我不能在私人课堂上访问“nb”?
答案 0 :(得分:3)
可以在java中使用,但不能在C#中使用。
您需要将A
的实例传递给B
。
答案 1 :(得分:3)
您需要一个A实例才能访问实例成员nb
:
public class A
{
class B
{
public B()
{
A a = new A();
int nb = a.nb;
}
}
public int nb;
}
答案 2 :(得分:2)
在C#中,“外部”类只是内部类的“命名空间”。所以外部类没有被实例化。
答案 3 :(得分:0)
您需要将A
的实例传递给B
,如下所示:
public class A
{
class B
{
private A _outerClass;
public B(A outerClass)
{
_outerClass = outerClass;
// Then you can access nb thus:
_outerClass.nb;
}
}
public int nb;
}