異なる/同じタイプの異なるオブジェクト間でプロパティを複製してコピーする単純なマッパークラスを作成しています。ビットマップへのオブジェクトマッピング
マッピングはリフレクションによって実行され、値の型、リスト、および参照の型でうまく機能します。 AnotherTypeはクラス型である
class SimpleValueTypes
{
public string Name { get; set; }
public int Number { get; set; }
public long LongNumber { get; set; }
public float FloatNumber { get; set; }
public bool BooleanValue { get; set; }
public AnotherType AnotherProperty{ get; set; }
}
:
すべてがこのようなタイプのために動作します。すべてのプロパティはかなり先にこのようにマッピングされるまで、参照型のマッピングは、再帰的な特性を検査することによって行われる。mapFormとmapToがPropertyInfoオブジェクトである
object value = mapFrom.GetValue(input, null);
mapTo.SetValue(output, value, null);
。
「ビットマップ」プロパティを持つ新しいタイプが到着し、オブジェクトの全体のクラスが同じように扱うことができないことに気付きました。
Class NewType
{
public Bitmap Bitmap{get;set;}
public string Name{get;set;}
}
このような場合はどうすればよいですか?明らかにプロパティをコピーしても、オリジナルのBitmapオブジェクトの新しいコピーが作成されるわけではありません。
PS
私はマッパーまたは他の外部のパッケージを発する/ automapper使用することはできません。
なぜAutomapperを使用できないのですか? – Tigran
これはこのプロジェクトのポリシーです – mhttk