我正在生成大量的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. zf2类的命名约定
- 5. C#类命名约定
- 6. CakePHP的命名约定/文件结构
- 7. Java Spring MVC文件夹/命名约定
- 8. 基本文件命名约定
- 9. 角4文件命名约定
- 10. C#项目文件夹命名约定
- 11. 布局文件命名约定?
- 12. Ruby Rails Lib文件夹命名约定
- 13. PHP文件命名约定(.class,.inc)
- 14. Bazel文件夹命名约定
- 15. 命名约定上传文件
- 16. Spring配置文件命名约定
- 17. 命名约定
- 18. 命名约定
- 19. 命名约定以区分部分视图和普通视图
- 20. 通用类的文件名约定
- 21. 后继分支的Git命名约定?
- 22. 替换API /类的命名约定
- 23. 抽象类的命名约定?
- 24. objC中的类别命名约定
- 25. 过滤器类的命名约定?
- 26. DTO的枚举类型命名约定
- 27. 重命名文件的一部分
- 28. 如何在datanode |中命名文件datanode中文件的命名约定hadoop
- 29. 区分基于命名约定的类中的方法?
- 30. TSQL命名约定〜这个命名约定叫什么名字?
没有意识到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