简单的C#问题:嵌套类,辅助功能

Wed*_*dTM 1 c# nested class

我知道这可能很简单,但我似乎无法弄清楚是否可以这样做.

我有以下代码:

public class A {    
thisMethod();  

 public class B {    
  someMethod();    
   }   
}


public class C {    
A myA = new A();    
A.B.someMethod();    
}
Run Code Online (Sandbox Code Playgroud)

如果我已经实例化A,为什么我不能访问B?

谢谢你提前帮忙!

Jon*_*eet 5

您需要一个AB实例来调用AB上的实例方法:

A.B foo = new A.B();
foo.SomeMethod();
Run Code Online (Sandbox Code Playgroud)

在您的示例中,您甚至没有尝试使用您创建的新实例.

如果你来自Java背景,可能值得指出C#中的嵌套类就像Java中的静态嵌套类.从嵌套类的实例到容器类的实例没有隐式引用.(访问也是相反的 - 在Java中,外部类可以访问其嵌套类的私有成员;在C#中,嵌套类可以访问其外部类的私有成员.)