私はオートマッパーを使用しています(.net 3.5用)。私がやろうとしていることを説明する例を次に示します。
A オブジェクトを B オブジェクトにマップしたい。クラス定義:
class A
{
public I1 MyI { get; set; }
}
class B
{
public I2 MyI { get; set; }
}
interface I1
{
string StringProp1 { get; }
}
interface I2
{
string StringProp1 { get; }
}
class CA : I1
{
public string StringProp1
{
get { return "CA String"; }
}
public string StringProp2 { get; set; }
}
class CB : I2
{
public string StringProp1
{
get { return "CB String"; }
}
public string StringProp2 { get; set; }
}
マッピング コード:
A a = new A()
{
MyI = new CA()
};
// Mapper.CreateMap ...?
B b = Mapper.Map<A,B>(a);
結果のオブジェクト b に CB のインスタンスを設定します。したがって、オートマッパーは、A が B にマップされ、CA が CB にマップされることを知る必要があり、B を作成するときに CB を含む MyI プロップを作成する場合、このマッピングをどのように指定すればよいでしょうか?