クラスを 2 つの .cs に分割し、それを部分クラスとして使用することが適切になるのはいつですか?
部分クラスを使用する時期が来たことを示す兆候はありますか?
ありがとう!
クラスを 2 つの .cs に分割し、それを部分クラスとして使用することが適切になるのはいつですか?
部分クラスを使用する時期が来たことを示す兆候はありますか?
ありがとう!
これらのクラスの一部を自動生成し、クラスの残りのコンテンツを手動で作成する必要がある場合。
これは、機械で生成されたコンテンツを 1 つのファイルに配置し、手動でコーディングしたコードを別のファイルに配置できるようにするためです。そうすることの利点は、ソース コードを再生成する必要がある場合に、手作業でコーディングした部分が消去されないことです。
これは、MS がその GUI デザイナー (これらの*.designer.cs
ファイルを考えてください) 用にクラス コンテンツを生成する方法であり、ロジックの肉を他の関連ファイル ( *.cs
)に入れることができます。
他の人が言ったように、自動生成されたコードは正当な理由です。また、ネストされたクラスを独自のファイルに入れたいときに、部分クラスを使用することもあります。
public partial class MyClass
{
private class NestedClass
{
...
}
}
さらに、ソリューション エクスプローラーでファイルをネストするためのちょっとしたトリックがあります (winform のように Form1.designer.cs ファイルをネストします)。
<Compile Include="Foo.1.cs">
<DependentUpon>Foo.cs</DependentUpon>
</Compile>
拡張したい自動生成コードがある場合、部分クラスはそれを行う優れた方法です。
たとえば、生成される SQL クラスに LINQ を拡張します。
イベント ハンドラーとその他の GUI コードを 1 か所に配置し、その他の非 GUI 関連コードを 1 か所に保持したいとします。C# では難しい MVC パターン。