web-dev-qa-db-fra.com

Conventions de dénomination pour les fichiers de classe partiels

Je génère la majeure partie de mon code d'échafaudage ASP.NET MVC. Tous les fichiers générés sont des classes partielles qui utilisent des conventions de dénomination standard. Par exemple, mon fichier de contrôleur d'employé est nommé EmployeeController.cs. Si je souhaite étendre le EmployeeController avec une logique personnalisée non générée, je crée un deuxième fichier de classe partielle nommé EmployeeControllerCustom.cs. Je sépare la logique personnalisée et générée en deux fichiers différents afin que la prochaine fois que je génère le EmployeeController, mes modifications personnalisées ne soient pas écrasées. L'ajout du suffixe "Personnalisé" au nom du fichier me semble raisonnable, mais existe-t-il une convention de dénomination des fichiers de classe partielle plus établie que je devrais suivre?

89
Ben Griswold

J'utilise . séparation - par exemple EmployeeController.SomeSpecialBehaviour.cs. Je le relie également à l'arborescence du projet via "dependentUpon" ou quoi que ce soit dans le csproj, afin qu'il s'emboite parfaitement sous le fichier (dans l'Explorateur de solutions). Vous devez le faire à la main (éditez le csproj) ou avec un complément, cependant; par exemple:

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

apparaît comme:

  • Sous-dossier
    • Program.cs
      • Program.Foo.cs
146
Marc Gravell

Pour ajouter à la réponse de Marc Gravell ♦, j'ai eu une situation avec des fichiers dans un sous-dossier et le nœud DependentUpon ignoré. Le court est que dans un tel cas, mon xml devait être:

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

J'espère que ça aidera quelqu'un :)

14
Nameless One