我知道这可能很简单,但我似乎无法弄清楚是否可以这样做。
我有以下代码:
public class A {
thisMethod();
public class B {
someMethod();
}
}
public class C {
A myA = new A();
A.B.someMethod();
}
如果我已经实例化了 A,为什么我不能访问 B?
提前感谢您的帮助!
最佳答案
您需要一个 A.B 的实例来调用 A.B 上的实例方法:
A.B foo = new A.B();
foo.SomeMethod();
在您的示例中,您甚至没有尝试使用您创建的新实例。
如果您有 Java 背景,可能值得指出 C# 中的嵌套类类似于 Java 中的static 嵌套类。没有从嵌套类的实例到容器类的实例的隐式引用。 (访问也是相反的方式 - 在 Java 中,外部类可以访问其嵌套类的私有(private)成员;在 C# 中,嵌套类可以访问其外部类的私有(private)成员。)
关于c# - 简单的 C# 问题 : Nesting Classes, 辅助功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1247458/