我正在生成大部分 ASP.NET MVC 脚手架代码。所有生成的文件都是使用标准命名约定的部分类。例如,我的员工控制器文件名为 EmployeeController.cs。如果我希望使用自定义的非生成逻辑来扩展 EmployeeController,我创建了第二个名为 EmployeeControllerCustom.cs 的分部类文件。我将自定义和生成的逻辑分成两个不同的文件,这样下次生成 EmployeeController 时,我的自定义更改不会被覆盖。在文件名中添加“自定义”后缀对我来说似乎是合理的,但是我应该遵循更成熟的部分类文件命名约定吗?
问问题
21913 次
2 回答
169
我使用.
分离-例如EmployeeController.SomeSpecialBehaviour.cs
。我还通过“dependentUpon”或csproj中的任何内容将它链接到项目树中,以便它整齐地嵌套在文件下(在解决方案资源管理器中)。但是,您必须手动(编辑 csproj)或使用插件来执行此操作;例如:
<Compile Include="Subfolder/Program.cs" />
<Compile Include="Subfolder/Program.Foo.cs">
<DependentUpon>Program.cs</DependentUpon> <!-- Note that I do not reference the subfolder here -->
</Compile>
显示为:
- 子文件夹
Program.cs
Program.Foo.cs
于 2009-09-25T17:34:59.067 回答
17
更新/免责声明: 2018 年,有人编辑了 Marc Gravell♦ 的答案(上面接受的答案),在他的示例中包含了一个子文件夹。而如何处理有子文件夹的情况是这个答案的重点。
如果没有该免责声明,您可能不会理解为什么存在这个答案以及为什么它有这么多选票。
为了补充 Marc Gravell♦ 的答案,我遇到了子文件夹中的文件并且DependentUpon
节点被忽略的情况。简而言之,在这种情况下,我的 xml 必须是:
<Compile Include="foo\bar.cs" />
<Compile Include="foo\bar.baz.cs">
<DependentUpon>bar.cs</DependentUpon> <!-- Note that I do not reference the subfolder here -->
</Compile>
我希望这可以帮助别人 :)
于 2014-12-08T10:15:50.747 回答