Соглашения об именах для файлов с частичным классом

Я создаю основную часть моего кода ASP.NET MVC. Все сгенерированные файлы являются частичными классами, которые используют стандартные соглашения об именах. Например, файл контроллера моего сотрудника называется EmployeeController.cs. Если я хочу расширить EmployeeController с помощью пользовательской, не созданной логики, я создаю второй файл частичного класса с именем EmployeeControllerCustom.cs. Я разделяю пользовательскую и сгенерированную логику на два разных файла, поэтому в следующий раз, когда я создаю EmployeeController, мои пользовательские изменения не будут перезаписаны. Добавление суффикса "Пользовательский" к имени файла представляется мне разумным, но существует ли еще более определенное соглашение об именах файлов классов, которое я должен соблюдать?

Ответ 1

Я использую . разделение - например EmployeeController.SomeSpecialBehaviour.cs. Я также связываю его с деревом проекта через "dependUpon" или что-то в нем в csproj, так что он находится под файлом (в браузере решений) аккуратно. Вы должны сделать это вручную (отредактируйте csproj) или с помощью addin; например:

<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>

появляется как:

  • Subfolder
    • Program.cs
      • Program.Foo.cs

Ответ 2

Чтобы добавить к Marc Gravell ♦ ответ, у меня была ситуация с файлами в подпапке, а DependentUpon node игнорируется. Короче говоря, в этом случае мой 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>

Надеюсь, это поможет кому-то:)