3
A
回答
1
您必須參考ClassA
的特定實例才能檢索成員。如果您的實例名爲foo
,則只需使用foo._MyId
。
2
在ClassB的構造函數傳遞類A.
4
簡而言之的一個實例,你需要一個參考實例ClassA
內ClassB
。
C#的嵌套類與Java的工作方式不同,如果這是你習慣的。當應用於嵌套類型(意味着C#的嵌套類是而不是與外部類的特定實例關聯)時,最接近的模擬應該是Java的static class
。
換句話說,與外部類相比,C#的嵌套類不是「特殊」的,除了它們可以看到外部類的私有成員。儘管如此,你仍然需要引用外部類來訪問它們。
2
如果該字段爲static
,則可以簡單地將其稱爲ClassA._MyId
。如果不是,您應該使用classAInstance._MyId
,其中classAInstance
是ClassA
的實例。
如果您來自Java背景,您應該注意C#中的嵌套類與static類似於Java中的嵌套類。
1
如果_MyId是靜態的,您可以通過它的名稱或ClassA._MyId來訪問它。
但是除此之外,您首先需要ClassA的實例,並且與另一個類(不嵌套)的acces幾乎沒有區別。但ClassB的成員確實可以訪問ClassA的私人成員。
說明:嵌套類是2個類型之間的靜態關係,實例之間沒有隱式關係。您必須傳遞對象之間的引用,就好像這些類沒有嵌套一樣。
相關問題
- 1. 嵌套類的訪問成員
- 2. 是否可以顯式訪問包含類的嵌套類的實例成員?
- 3. 從C#和Java嵌套類到父類成員的訪問差異
- 4. 如何從嵌套類訪問包含類的字段
- 5. C++類和嵌套成員
- 6. PHP - 從嵌套類訪問父類成員
- 7. C++訪問嵌套類的私有成員
- 8. 嵌套類訪問封閉類的私有數據成員
- 9. 如何從嵌套類訪問成員變量
- 10. C#類成員訪問
- 11. 訪問嵌套類
- 12. 訪問嵌套類
- 13. Java:從嵌套類訪問主類?
- 14. C++派生類訪問基類成員
- 15. VST C++嵌套類 - 構造和包含
- 16. 覆蓋嵌套類成員
- 17. 訪問受保護的成員[嵌套類]
- 18. 嵌套類中的不可訪問成員 - 爲什麼?
- 19. 如何訪問嵌套類的私有成員?
- 20. 包裝類的成員訪問
- 21. 如何從另一個子類的嵌套成員訪問一個抽象的超類的成員
- 22. 訪問類成員
- 23. 訪問類成員
- 24. C++從類的向量的指針訪問類的成員
- 25. 訪問c#中的類的成員?
- 26. C#類成員訪問問題
- 27. 獲取嵌套類成員沒有訪問器或增變
- 28. Typescript:模擬嵌套類+私人成員訪問
- 29. 從成員struct的成員函數中訪問類的成員?
- 30. 從目標c中的基類訪問子類成員
太棒了!謝謝!! – Mike 2010-03-03 17:02:10