2つの別々のDLLで、同じ階層の下にある同じ名前の2つのクラス(ClassXと呼ぶ)を持っています。これらのDLLはどちらもサードパーティのDLLです。 Dll1.ClassXとDll2.ClassXもこれらのDLLの両方で同じ名前空間の下にあります。 DLLをDll1とDll2とする。次に、同じクラスの2つのオブジェクトobjAとobjBを考えてみましょう。私のアプリケーションは、DBから戻ってくる特定の条件に応じて、objAのみを作成するか、objBのみ作成するか、または両方を作成する必要があります。私は外部のエイリアスを使用して、アプリケーション内のクラス参照のあいまいさを解決します。今、状況が起こります。2つの異なるオブジェクトを維持することなく、2つの異なるオブジェクトから、ほとんど同じクラスの2つの異なるオブジェクトを最もよく埋める方法は?
ユースケース1又は2(単一のオブジェクトを作成し、OBJAまたはobjBのいずれか)が容易です。難しい部分は、アプリケーションでobjAとobjBの両方を作成する必要があるときです。 objAとobjBの特定のプロパティだけが異なるので、2つの異なるオブジェクトを作成して、コードをアプリケーションに流すのと同時に、それらを読み込むことができます。しかし、これは "余分な"オブジェクトに対応するためにオブジェクト作成コードの大部分を書き直さなければならないことを意味します。私にとって退屈な音。私はこれを行うより良い方法があるかどうかを知りたい。
リフレクションAPI – Thakur
@Thakurを使用しよう:あなたはその上で、もう少し詳しく説明することはできますか? –
オブジェクトのコピー(clone it)を作成するには、既存のシリアル化を行い、新しいものを逆シリアル化します。同じアプローチを使用することもできます(例: json +カスタムバインダーが行います。 – Sinatr