私は触れられないクラスオブジェクトのセットを持っています。それらのすべてには、他の関数で一般的な方法でアクセスしたいIDプロパティがあります。多対1のクラス関係の作成
ここでは簡単のため、私の問題の例を示します。
class Example1 {
int ID { get; set;}
}
class Example2 {
int ID { get; set; }
}
私はこの2つのクラスや、彼らがしているライブラリのいずれかを編集することはできませんよ。私もExample1
またはExample2
のいずれかから来ることができるIDを期待する機能を持っている
。これを処理するために、私はいくつかの解決策を考え出しましたが、これを解決する適切な方法は何か不思議です。
私は可能性:様々なクラスIDをアクセスするための
- 使用動的なクラス。
- 反射を使用して、任意のタイプからIDパラメータを引き出します。
- は
- から関連する部分を抽出することができます別のフィルタ機能を書くのデータを収集し処理するために
Example1ViewModel
でコピーコンストラクタをExample1ViewModel : Example1, IIdentifiableObject
してからは、私の機能でIIdentifiableObject
を期待するように、新しいクラスを作成することによって、奇数継承を使用して実装しますどちらかのクラスと結果を提供します。
これらのソリューションは特に優れていないようです。コードでこのような多対1の関係をどのように処理する必要がありますか、これを処理するためにC#が提供するツールはありますか?
Example1、Example2クラスに拡張メソッドを追加できますか? –