【发布时间】:2016-10-21 18:07:23
【问题描述】:
我目前面临的问题是我的主要Form.cs 文件越来越大,我想将其拆分为几个部分文件。这些应粘贴在 Visual Studio 解决方案资源管理器中的主窗体 (MainForm.cs) 节点下方。
我尝试创建新的类文件并将其声明为我的MainForm 类的部分源文件。然而,新创建的部分类文件改变了它的图标,看起来像一个表格。相反,它应该在Solution Explorer 中低于MainForm 节点。
可视化问题:
MainForm.ContextActions.cs文件内容如下:
namespace Interface_Group_Editor
{
public partial class MainForm
{
[...]
}
}
内容类似于MainForm.Designer.cs文件。但是.Designer.cs 文件会粘贴在MainForm.cs 节点下方,而.ContextActions.cs 不会!
我只在MainForm.cs 文件中处理绝对必要的表单事件,并将我的业务逻辑放在我从表单访问的外部类中。但是,仅我的 TreeView 代码来维护和编辑表单就需要大约 500 行代码,这些代码可以重新定位到新的部分源文件中。这将大大有助于项目结构的整体可见性!
有什么方法可以强制解决方案资源管理器执行此行为?
【问题讨论】:
-
看看File Nesting extension。我正在使用它来组合(手动嵌套)WPF 视图 + 视图模型(类似于您想在表单组中嵌套一些
cs的方式),它很漂亮。不确定组嵌套的想法是否可以。另一种选择是在项目中为每个大组(包含项目和其他组)创建文件夹,但这会添加一些愚蠢的命名空间问题(也许也可以修复),将文件夹名称添加到命名空间。 -
一个与下面的 Hans Passant 提供相同答案的相关帖子是stackoverflow.com/questions/1478610/…