それで、皆さんがこれについてどう思うか聞いてみたいです。
3つの異なる継承パスがすべて別の基本クラスを実装する必要があるプロジェクトがあります。これは多重継承であり、C#では許可されていません。コードを重複させずにこれを実装する方法に興味があります。
編集:私は3つのクラスを所有していません。3つのクラスは、サードパーティのコードからのものです。したがって、それらすべてに基本クラスを拡張させることはできません。
現在、私は3つの異なるクラスを使用しており、それぞれが異なる基本クラスを拡張しています。次に、3つの抽象クラスのそれぞれに同じコードがあります。
単一のインターフェースを使用することもできますが、それでもコードを複製する必要があります。
コードを実装するある種の静的クラスを作成し、それを3つの抽象クラスのそれぞれで参照することができます。重複をなくすことができますが、どう思うかわかりません。インターフェイスにExtensionsメソッドを実装することはできますが、インターフェイス自体が空になり、拡張メソッド(重複コードを含む)がまったく異なるファイルに含まれるため、正しくないようです。さらに、拡張メソッドにプロパティを実装できません...
ここでコードの重複をどのように除外できますか?
編集、継承ツリー:
class Class1 : 3rdPartyBaseClass1 { }
class Class2 : 3rdPartyBaseClass2 { }
class Class3 : 3rdPartyBaseClass3 { }
上記の各クラスに入れたいコードがありますが、3rdPartyClassesに追加できません。