如何最好地手写作图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}
}
最佳答案
如果您真的想手动执行此操作,那么方便的方法是扩展方法:
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 (或其他映射工具),它将使用反射按名称匹配属性。
关于c# - List<T> 的手写映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648576/