2009-09-25 10 views
74

ASP.NET MVCの足場コードを大量に生成しています。生成されるすべてのファイルは、標準命名規則を使用する部分クラスです。たとえば、従業員のコントローラファイルの名前はEmployeeController.csです。 EmployeeControllerをカスタムの非生成ロジックで拡張したい場合は、EmployeeControllerCustom.csという名前の2番目の部分クラスファイルを作成します。私はカスタムと生成されたロジックを2つの異なるファイルに分けて、次回私がEmployeeControllerを生成するときに私のカスタム変更が上書きされないようにします。ファイル名に「カスタム」サフィックスを追加することは私にとっては妥当と思われますが、それに続くはずの部分クラスファイルの命名規則が確立されていますか?部分クラスファイルの命名規則

答えて

121

私は.の分離を使用します。たとえば、EmployeeController.SomeSpecialBehaviour.csです。私はまた、プロジェクトツリーに "dependentUpon"またはそれがcsprojにあるものをリンクするので、(ソリューションエクスプローラで)ファイルの下にきちんと入れ子にするようにします。あなたは手作業で(csprojを編集して)、またはaddinを使って行う必要があります。例えば:

<Compile Include="Program.cs" /> 
<Compile Include="Program.Foo.cs"> 
    <DependentUpon>Program.cs</DependentUpon> 
</Compile> 

は次のようになります。マルクGravell♦さんの回答に追加するには

  • Program.cs
    • Program.Foo.cs
+0

はDependentUponがどのファイルに取り組んで実現しなかった... – thecoop

+2

DependentUpon:それのショートは、このような場合には、それは私のxmlをしなければならなかったということです提案は本当にクールで素晴らしいです。注目してくれてありがとう。私が正しく読んでいれば、単に "Custom"のような標準的な接尾辞を使用するだけではありません。接尾辞は、部分クラスファイルの機能の意図を常に表します。また、あなたがなぜあなたが使用する理由がありますか?ケーシングとは反対の分離? 。改善された読みやすさ以上のものを提供しますか?ありがとう。 –

+7

正しい - ファイル名は、その部分*のコードの意図を示します。したがって、私がエキゾチックなインターフェイスを実装している場合(コードを別にしておくと)、それは 'SomeType.ICustomTypeDescriptor.cs'かもしれません。実際の型( 'SomeType')とインテント' ICustomTypeDescriptor'は、すでに完全にケース化されています。また、 'SomeForm.Designer.cs' ;-p –

9

、私は状況を持っていましたサブフォルダ内のファイルとDependentUponノードは無視されます。

<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