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