在C#中,有没有办法将同一个类中的代码分隔成单独的文件?

时间:2014-06-05 16:28:19

标签: c# visual-studio class oop object

我最近继承了一些长达数千行且非常混乱的代码。

我试图重新考虑它,以便代码至少更容易找到,但由于它是在visual studio中构建的,所以所有内容都包含在单个"形式中。类,以及它的编写方式使得在不破坏某些东西的情况下分离代码变得困难。

有没有办法可以将代码存放在不同的文件中,但是仍然将它保存在同一个类中?

5 个答案:

答案 0 :(得分:7)

是。只需为每个"部分使用partial关键字"班上的班级'文件。

// example class A in file:  A1.cs
public partial class A { }

// example class A in file:  A2.cs
public partial class A { }

可以在MSDN以及其他一千个网站和博客上找到更多信息。

答案 1 :(得分:1)

还要考虑使用#region指令将代码拆分为更多可导航的块。这也更容易导航,因为一个文件可以保留类的名称,并且没有人必须在不同的文件中挖掘这个相同类的各个部分。

答案 2 :(得分:0)

是的,有可能。这是Visual Stuido为Win Forms等代码生成代码的方式。它可以将实现分成两个单独的文件,并使用户只需更改一个,从而减少搞砸的可能性。

这个概念叫做partial classes。您可以在两个不同的文件中定义相同的类,但类定义需要在字体中包含partial。 structsinterfaces也可能。

在这里阅读更多:
http://msdn.microsoft.com/en-us/library/wa80x488.aspx

答案 3 :(得分:0)

使用部分类。例如:

如果你在Example.cs中有一个类:

public class Example
{
    public void Func1()
    {

    }

    public void Func2()
    {

    }

    public void Func3()
    {

    }

    public void Func4()
    {

    }
}

您可以轻松将其更改为:

Example.cs

public partial class Example
{
    public void Func2()
    {

    }

    public void Func4()
    {

    }
}

RestOfTheExample.cs

public partial class Example
{
    public void Func1()
    {

    }

    public void Func3()
    {

    }   
}

希望这有帮助!!!

答案 4 :(得分:0)

使用与

相同的部分类
public partial class Employee
{
    public void DoWork()
    {
    }
}

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