部分类文件的命名约定

时间:2009-09-25 17:30:46

标签: c# naming-conventions code-generation partial-classes

我正在生成大量的ASP.NET MVC脚手架代码。所有生成的文件都是使用标准命名约定的部分类。例如,我的员工控制器文件名为EmployeeController.cs。如果我希望使用自定义的非生成逻辑扩展EmployeeController,我会创建一个名为EmployeeControllerCustom.cs的第二个部分类文件。我将自定义和生成的逻辑分成两个不同的文件,因此下次生成EmployeeController时,我的自定义更改不会被覆盖。将“自定义”后缀添加到文件名对我来说似乎是合理的,但是我是否应该遵循更成熟的部分类文件命名约定?

2 个答案:

答案 0 :(得分:136)

我使用.分隔 - 例如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

答案 1 :(得分:13)

要添加到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>

我希望这有助于某人:)