我们什么时候在C#中使用嵌套类

时间:2011-03-23 09:09:53

标签: c# nested-class

想知道何时在C#中使用嵌套类是正确的? 我们是否有使用它的事件是不合理的,因此不正确?

如果您能举例说明这两种情况 感谢

6 个答案:

答案 0 :(得分:8)

当您需要封装主要在父类中使用的数据格式时,我发现使用嵌套类很方便。这通常是因为数据的目的或格式对于父类是如此定制,以至于它不适合在您的解决方案中更广泛地使用。

答案 1 :(得分:2)

这是嵌套类的简单基本介绍。

Nested_Classes

答案 2 :(得分:1)

C#没有办法编写using指令来定位类,因此可以访问类的静态成员而无需将类名作为限定符编写(与Java的{{1进行比较)允许的那样)。

因此,对于类的用户,如果将任何公共类作为命名空间的直接成员而不是嵌套在其他公共类中,则会更方便一些。这样他们就可以使用import static指令将它们拉入全局命名空间。

对于私人课程,请坚持下去,最好将它们放在靠近使用位置的位置,以提高代码的可读性。

答案 3 :(得分:0)

我不确定我的世界是否有空间用于嵌套类。它简直模糊了我的设计。如果您需要隐藏类中的信息,为什么不将它存储在成员变量中呢?

此外,如果没有能够在课堂上注入存根,测试会变得更加麻烦。

答案 4 :(得分:0)

嵌套类的用户取决于下面的场景。

1)将代码组织到两个对象之间存在特殊关系的现实世界中。 2)将一个类隐藏在另一个类中,这样你就不希望在其创建的类之外使用内部类。

假设您有两个名为A和B的类,而B类依赖于没有A类的A类,您不能使用B类,那个场景可以使用嵌套类

据我所知

DataRow类是DataTable的嵌套类 即你不能创建一个DataRow类,直到你声明一个DataTable类的对象

答案 5 :(得分:0)

我找到了两个主要的人:

  1. 个性化一个类的名称而不会破坏它。
    示例:Vercas.ExplorerView,其中我个性化了我的类的名称而没有破坏其含义。

  2. 私人课程。
    示例:Vercas.ExplorerView.Item仅在Vercas.ExplorerView内使用。