別のDLLの部分クラスに2つの部分(同じ名前空間、同じクラス名)を持たせることはできますか?
From MSDN -Partial Classes and Methods :
同じ型の一部である部分型定義はすべて、同じアセンブリおよび同じモジュール(.exeまたは.dllファイル)で定義する必要があります。部分定義は複数のモジュールにまたがることはできません。
いいえ。部分クラスは純粋に言語機能です。アセンブリがコンパイルされると、ファイルが結合されて型が作成されます。ファイルを異なるアセンブリに分散させることはできません。
ただし、何をしたいかによっては、 拡張メソッド を使用して必要なことを実行できる場合があります。
いいえ、不可能です。アセンブリがコンパイルされたら、クラスを終了する必要があります。
他の答えは、このページに着いた人が見たり聞いたりしたくない不快な「いいえ」を提供しますが、ここでまだ言及されていない別の考えに感銘を受けました。アセンブリ全体で部分クラスが許可された場合、彼が作成したものではない既存の型のプライベートメンバーにアクセスできるため、元の作成者が意図していない方法でそれらを操作できるため、すべての継承クラスの機能が危険にさらされますも。
それだけでなく、他のアセンブリ(およびその子)のクラスは、機能させるために再コンパイルする必要があります。したがって、クラスを異なるアセンブリに分割することは論理的に不可能です。
別のdllのクラスにメソッドを追加する場合、拡張メソッドを使用できます。このメソッドの1つの欠点は、静的メソッドを追加できないことです。
問題は、別のアセンブリに部分クラスを作成する理由です。アセンブリ全体で抽象クラスとインターフェースを定義できますが、それを調べる必要があるかもしれません。