這裏是我的代碼(只是一個片段揭露問題):在私人課堂上:訪問「外部班級」的成員?
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 –
請添加代碼。這樣我們在黑暗中拍攝。 –