2

List<T1>へのマッピングを手書きする最良の方法はList<T2>?

私の例のクラス:

public class T1
{
    public int ID {get; set}
    public string Name {get; set}
}

public class T2
{
    public int ID {get; set}
    public string Name {get; set}
}
4

2 に答える 2

6

本当にこれを手動で行いたい場合は、拡張メソッドが便利な方法です。

public static T2 ToT2(this T1 t1)
{
    return new T2 { ID = t1.ID, Name = t1.Name };
}

public static List<T2> ToT2List(this IEnumerable<T1> t1List)
{
    return t1List.Select(t1 => t1.ToT2()).ToList();
}

使用法:

T2 t2 = t1.ToT2();
List<T2> t2List = t1List.ToT2List();

ただし、リフレクションを使用して名前でプロパティを照合するAutomapper (または他のマッピング ツール) を使用することをお勧めします。

于 2013-07-15T07:14:45.480 に答える