我正在生成大量的ASP.NET MVC脚手架代码。所有生成的文件都是使用标准命名约定的部分类。例如,我的员工控制器文件名为EmployeeController.cs。如果我想用定制的非生成逻辑扩展EmployeeController,我创建了一个名为EmployeeControllerCustom.cs的第二个部分类文件。我将自定义和生成的逻辑分成两个不同的文件,所以下次我生成EmployeeController时,我的自定义更改不会被覆盖。将“自定义”后缀添加到文件名似乎对我来说很合理,但是我应该遵循一个更加成熟的部分类文件命名约定吗?部分类文件的命名约定
74
A
回答
121
我使用.
分隔 - 例如EmployeeController.SomeSpecialBehaviour.cs
。我还通过“依赖关系”或任何它在csproj中将它链接到项目树中,以便它整齐地嵌套在文件(在解决方案资源管理器中)下。不过你必须手动(编辑csproj)或者使用外挂程序来做到这一点;例如:
<Compile Include="Program.cs" />
<Compile Include="Program.Foo.cs">
<DependentUpon>Program.cs</DependentUpon>
</Compile>
显示为:
Program.cs
Program.Foo.cs
9
为了增加马克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>
我希望这可以帮助别人:)
+0
帮助了我,谢谢。 – heltonbiker 2015-08-04 12:46:43
相关问题
- 1. 部分类文件名的命名约定?
- 2. 文件命名约定
- 3. Qt小部件的命名约定
- 4. Qt的类命名约定
- 5. zf2类的命名约定
- 6. Android小部件命名约定
- 7. C#类命名约定
- 8. 抽象类命名约定
- 9. CakePHP的命名约定/文件结构
- 10. XCode中的文件命名约定
- 11. Groovy脚本文件的命名约定
- 12. 布局文件命名约定?
- 13. 命名约定上传文件
- 14. Ruby Rails Lib文件夹命名约定
- 15. 安卓android文件夹命名约定
- 16. Spring配置文件命名约定
- 17. android values文件夹项命名约定
- 18. Android活动文件命名约定
- 19. Bazel文件夹命名约定
- 20. Java Spring MVC文件夹/命名约定
- 21. 战争命名约定文件
- 22. 基本文件命名约定
- 23. 文件命名约定.json或.js?
- 24. C#项目文件夹命名约定
- 25. PHP文件命名约定(.class,.inc)
- 26. 角4文件命名约定
- 27. 命名约定
- 28. 命名约定
- 29. Gradle插件命名约定
- 30. 软件包命名约定
没有意识到DependentUpon上的任何文件工作... – thecoop 2009-09-25 17:38:21
的DependentUpon建议非常酷,效果很好。感谢您的注意。如果我阅读正确,则不要简单地使用“自定义”之类的标准后缀。你的后缀总是表达部分类文件功能的意图。另外,你有没有理由使用这个。分离与套管相反?是的。提供的不仅仅是改进的可读性?谢谢。 – 2009-09-25 18:30:42
正确 - 文件名称表示*部分*中代码的意图。所以如果我正在实现一个奇特的接口(并保持代码分离),它可能是'SomeType.ICustomTypeDescriptor.cs'。 IMO(IMO)分离了两件事:实际类型('SomeType')和意图ICustomTypeDescriptor - 都已经完全套用;此外,它与'SomeForm.Designer.cs';# – 2009-09-25 19:02:12