什么时候将您的类分成两个 .cs 并将其作为部分类成为一个好主意?
是否有一些迹象表明是时候进行部分课程了?
谢谢!
当您必须自动生成这些类的一部分并手动编写类的其余内容时。
这样您就可以将机器生成的内容放在一个文件中,并将手工编码的代码放在另一个文件中。这样做的好处是,当您必须重新生成源代码时,您的手动编码部分不会被清除。
这就是 MS 如何为其 GUI 设计者生成类内容(想想那些*.designer.cs
文件),并允许您将逻辑的核心放在其他相关文件中(*.cs
)
就像其他人所说,自动生成的代码是一个很好的理由。当我想将嵌套类放在自己的文件中时,我有时也会使用部分类。
public partial class MyClass
{
private class NestedClass
{
...
}
}
另外,还有一个小技巧可以在解决方案资源管理器中嵌套文件(类似于 winform 并嵌套 Form1.designer.cs 文件)。
<Compile Include="Foo.1.cs">
<DependentUpon>Foo.cs</DependentUpon>
</Compile>
如果您有想要扩展的自动生成的代码,那么分部类是一个很好的方法。
例如,将 LINQ 扩展到生成的 SQL 类。
假设您将事件处理程序和其他 GUI 代码放在一个地方,并希望将其他非 GUI 相关代码保存在一个地方。C#中不容易实现的MVC模式。