这里是我的代码(只是一个片段揭露问题):在私人课堂上:访问“外部班级”的成员?
public class A
{
class B
{
//private class
}
public int nb;
}
进出口累了,但为什么我不能进入到“NB”在我的私人类?
这里是我的代码(只是一个片段揭露问题):在私人课堂上:访问“外部班级”的成员?
public class A
{
class B
{
//private class
}
public int nb;
}
进出口累了,但为什么我不能进入到“NB”在我的私人类?
你会需要,以访问实例成员nb
A的一个实例:
public class A
{
class B
{
public B()
{
A a = new A();
int nb = a.nb;
}
}
public int nb;
}
也许最好让它成为'internal'? – abatishchev
@abatishchev,让内部什么?嵌套类?为什么?如果这个班不打算在A以外使用,该怎么办?使它成为一个嵌套的私人类是有道理的。 –
我的意思是'公众诠释nb' - >'内部整型nb' – abatishchev
这是可能的在Java中,但不是在C#中。
您需要将A
的实例传递给B
。
在C#中的“外部”类只是一个“命名空间”的内部类。所以外部类没有被实例化。
您需要的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;
}
在哪里,你是如何试图访问NB? –
其中“私人课程”评论被写入,我无法访问NB –
请添加代码。这样我们在黑暗中拍摄。 –