c# - 简单的 C# 问题 : Nesting Classes, 辅助功能

标签 c# class nested

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

我有以下代码:

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/

相关文章:

解析矩阵的嵌套 for 循环的时间复杂度

c++ - 在 C++ 中将 vector 转换为嵌套映射

javascript - d3.nest() 键/值未定义值

php - 对循环中持续存在的类的引用

c# - 更新面板工作很慢

c# - 像异步一样注册 Autofac 模块

c# - 将 Oracle 数据库与 SQL Azure 同步

c++ - 从多态基指针调用基类方法很慢

c++ - 无法计算位数作为输入

c# - 如何检查正则表达式字符串是否不以特殊字符开头