【问题标题】:Organizing c# code into different files将 C# 代码组织到不同的文件中
【发布时间】:2011-02-23 22:30:21
【问题描述】:

我的主代码文件大约有 1000 行长,而且变得难以管理;也就是说,我开始感到困惑,不知道在哪里可以找到一些东西。评论很好,但内容太多了。

我真的希望能够将我的代码组织成不同的文件,每个文件都有自己的用途。我想在编辑这些其他文件时获得 VS 为我提供的所有帮助。一张图可以说一千个字:

alt text http://img64.imageshack.us/img64/7848/codeorganizationscreens.png

我正在尝试做的事情可能吗?

【问题讨论】:

  • 您可能想要签出 VsCommands (mokosh.co.uk/vscommands),它允许您在解决方案资源管理器中对文件进行分组。但是,如果您的类太长以至于需要将其拆分为不同的文件,这可能表明需要重新设计。

标签: c# wpf visual-studio


【解决方案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】:
    1. 将每个体面的大小类别分拆到至少一个文件中。将每个类包装在同一个命名空间中。
    2. 对于大型课程,请使用:
      一种。区域块例如

      #region // 成员
      int my_int;
      // 其他成员...
      #endregion

      b. partial 关键字来打破多个文件中的单个类。

    【讨论】:

      猜你喜欢
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多