【发布时间】:2013-01-19 20:41:12
【问题描述】:
我正在阅读有关 Partial 关键字的 MSDN 文章,这部分引起了我的注意:
partial 关键字表示类、struct、 或者接口可以在命名空间中定义。所有零件必须使用 部分关键字。所有部件必须在编译时可用 形成最终类型。所有部件必须具有相同的 可访问性,例如公共、私有等。
[...]
所有指定基类的部分必须一致,但 省略一个基类仍然继承基类。 零件可以指定 不同的基接口,最终类型实现了所有 所有部分声明列出的接口。任何类,结构, 或在部分定义中声明的接口成员可用于 所有其他部分。 最后的类型是所有的组合 编译时的部分。
我对这个概念有两个问题:
首先,这似乎是一种绕过 C# 中缺乏多重继承的方法(当然,除了接口)。除了正常的多重继承问题(例如钻石问题)之外,这样做是否会产生任何影响?基本上,仅仅因为我可以,就意味着我应该吗?
其次,我应该在什么时候拆分文件?读到这里,感觉应该可以在自己的文件中声明一个嵌套类,并把它和包含的类一起partial,从而提高可读性。这是 Partial 的重点,还是只能按照上面文章的描述使用?
【问题讨论】:
-
部分类主要是一件坏事恕我直言,因为您可能必须在不同文件之间跳转才能查看所有代码。
标签: c# multiple-inheritance partial-classes