将 C# 代码组织到不同的文件中
Posted
技术标签:
【中文标题】将 C# 代码组织到不同的文件中【英文标题】:Organizing c# code into different files 【发布时间】:2011-02-23 22:30:21 【问题描述】:我的主代码文件大约有 1000 行长,而且变得难以管理;也就是说,我开始感到困惑,不知道在哪里可以找到一些东西。评论很好,但内容太多了。
我真的希望能够将我的代码组织成不同的文件,每个文件都有自己的用途。我想在编辑这些其他文件时获得 VS 为我提供的所有帮助。一张图可以说一千个字:
alt text http://img64.imageshack.us/img64/7848/codeorganizationscreens.png
我正在尝试做的事情可能吗?
【问题讨论】:
您可能想要签出 VsCommands (mokosh.co.uk/vscommands),它允许您在解决方案资源管理器中对文件进行分组。但是,如果您的类太长以至于需要将其拆分为不同的文件,这可能表明需要重新设计。 【参考方案1】:是的,但是您需要在同一个命名空间中并像在主文件中那样声明类,例如:
file1.cs
namespace Names
public partial class Hello
public void DoSomething()
file2.cs
namespace Names
public partial class Hello
public void Go() DoSomething();
【讨论】:
我最初是这样拆分我的 WinForms 项目的,利用部分类。我会制作一个“实用程序”文件和一个“解析器”文件等。令人头疼的是,在为表单类拆分代码时,每个部分类都试图在 Visual Studio IDE 中打开一个新的空白表单,除非我指定我想要代码视图。无论如何,我不再这样做了,我发现制作单独的课程有很大帮助!【参考方案2】:尽管其他人对partial classes
的评价是真实的。我还建议您分析课堂上的重构机会。
如果您在管理它时遇到问题,您可以尝试将您的单个班级分成几个职责较少的班级。
恕我直言,部分课程可能没有多大帮助。你的班级在regions
中分开了吗?区域提高了代码的可读性。
【讨论】:
这听起来像是评论而不是答案 我同意。如果一个类变得很大并且难以管理,您应该考虑将其重构为多个较小的类。这也会自然地将其组织成更小的文件。 @BrunoLM:你为什么这么认为?我给他一个不同的观点,因为我不认为部分课程是解决他的问题的最佳解决方案。 @Bruno,不,这是明智的建议。 @Adam S:您可能会考虑创建UserControls
以在逻辑上将您的 200-300 个控件划分为可管理的块,或者可能为您的界面使用多种形式...您似乎陷入了技术债务陷阱——不重构的时间越长,维护和修改代码就越困难。这可能会升级到需要花费太多时间和精力来添加新功能的地步。【参考方案3】:
是的,您可以将任何部分类拆分到任意数量的文件中。
【讨论】:
【参考方案4】:-
将每个体面的大小类别分拆到至少一个文件中。将每个类包装在同一个命名空间中。
对于大型课程,请使用: 一种。区域块例如
#region // 成员 int my_int; // 其他成员... #endregion
b. partial 关键字来打破多个文件中的单个类。
【讨论】:
以上是关于将 C# 代码组织到不同的文件中的主要内容,如果未能解决你的问题,请参考以下文章
7zip:在C#中,如何将不同目录下的多个同名文件添加到同一个zip文件中?