C# 如何在多个文件中为同一类定义方法?

C# 如何在多个文件中为同一类定义方法?,c#,C#,我的班级越来越大了。我如何定义它以便方法可以跨越不同的.cs文件?您可以将类声明为。这允许您将其拆分为多个文件 // File 1: partial class Test { public void Method1() { … } } // File 2 partial class Test { public void Method2() { … } } 您可以为此使用分部类 雇员1.cs public partial class Employee { public

我的班级越来越大了。我如何定义它以便方法可以跨越不同的.cs文件?

您可以将类声明为。这允许您将其拆分为多个文件

// File 1:
partial class Test {
    public void Method1() { … }
}

// File 2
partial class Test {
    public void Method2() { … }
}

您可以为此使用分部类

雇员1.cs

public partial class Employee
{
    public void DoWork()
    {
    }
}
雇员2.cs

public partial class Employee
{
    public void GoToLunch()
    {
    }
}

使用
partial
关键字

Foo.cs

public partial class Foo 
{
   .....
}


xFoo.cs

public partial class Foo
{
 ......
}

但是,如果您的类越来越大,可能会有一点代码味道,需要考虑重构。

拥有多个较小的文件可能会很好,但在将其拆分为两个文件时,找到正确的代码会更痛苦。

虽然部分确实很好,请停一下,想想你们班可能做得太多了。如果您对类函数的描述是“很好,它可以执行X、Y和Z”,那么您可能希望将其拆分为三个类X、Y和Z。拆分所有内容有点困难,但您的代码最终会更干净、更易于维护。或者你的班级可能已经尽可能小了当然,在这种情况下我就闭嘴:)同意Jauco的观点。我认为引入partials主要是为了将设计器生成的代码与用户编写的代码分开,而不是为了生成大型类。但有时根本没有办法。将一个类拆分为多个文件并不能解决它可能变得太大的问题。我同意。通常,只有当类的一部分自动生成时,partial才合适。否则,只需要一个组织良好的大类文件,或者实际重构(具有逻辑责任的多个类)。同意ck的观点,尽管这不是问题的答案,因此应该像Jauco那样作为注释编写。