6

什么时候将您的类分成两个 .cs 并将其作为部分类成为一个好主意?

是否有一些迹象表明是时候进行部分课程了?

谢谢!

4

4 回答 4

17

当您必须自动生成这些类的一部分并手动编写类的其余内容时。

这样您就可以将机器生成的内容放在一个文件中,并将手工编码的代码放在另一个文件中。这样做的好处是,当您必须重新生成源代码时,您的手动编码部分不会被清除。

这就是 MS 如何为其 GUI 设计者生成类内容(想想那些*.designer.cs文件),并允许您将逻辑的核心放在其他相关文件中(*.cs

于 2009-12-02T14:58:33.003 回答
6

就像其他人所说,自动生成的代码是一个很好的理由。当我想将嵌套类放在自己的文件中时,我有时也会使用部分类。

public partial class MyClass
{
    private class NestedClass
    {
        ...
    }
}

另外,还有一个小技巧可以在解决方案资源管理器中嵌套文件(类似于 winform 并嵌套 Form1.designer.cs 文件)。

<Compile Include="Foo.1.cs">
  <DependentUpon>Foo.cs</DependentUpon>
</Compile>

Visual Studio 中的嵌套文件

于 2009-12-02T15:06:42.833 回答
5

如果您有想要扩展的自动生成的代码,那么分部类是一个很好的方法。

例如,将 LINQ 扩展到生成的 SQL 类。

于 2009-12-02T14:59:33.347 回答
3

假设您将事件处理程序和其他 GUI 代码放在一个地方,并希望将其他非 GUI 相关代码保存在一个地方。C#中不容易实现的MVC模式。

于 2009-12-02T15:00:29.273 回答