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