私はあなたが普通にやることとは逆の方法を試みています。ベースオブジェクトから継承されたオブジェクトへの変換
Iは
public class A
{
public int Foo { get; set; }
}
public class B : A
{
public int Bar { get; set; }
}
BからBのinherrits付加情報とに拡張子としてメンター2つのPOCOクラスAおよびBを有します。
は、私はクラスのインスタンスを持つことから始め
A a = new A { Foo = 1 };
そして私は、追加情報でクラスAの情報を拡張し、私はクラスAからすべてのプロパティをマップすることができ、最終的なクラスBを取得したいですクラスBのプロパティに、それは私に多くのローミングサービスがありません:
A a = new A { Foo = 1 };
B b = new B { Foo = a.Foo, Bar = 2 };
またはコンストラクタで
A a = new A { Foo = 1 };
B b = new B(a) { Bar = 2 }; // Mapping of value Foo is done in constructor of object B
結果は、オブジェクトAからBへの値の手動マッピングが可能です。 これを行うにはよりスマートな方法が必要です...提案はありますか?
マーク、私は反射を使用するようにあなたの提案が好きです。思考は私の心を渡りましたが、私はプロパティのコピー方法をコーディングしたくありませんでした。 MiscUtilへのリンクありがとう。それは私に貴重な時間を節約した。 –