【发布时间】:2010-08-04 17:21:23
【问题描述】:
我有一组对象,我将它们作为参数传递以创建另一种类型的对象(一对一)。我在很多地方都这样做(基本上从数据对象转换为业务对象)。我想写一个通用的扩展方法来完成这个。但是我被卡住了,因为我不知道如何指定业务对象具有以数据对象作为参数的构造函数的约束。以下是我的函数代码:
public static IList<T> ConvertTo<A,T>(this IEnumerable<A> list)
where T : new(A)/*THIS IS PROBLEM PART*/
{
var ret = new List<T>();
foreach (var item in list)
{
ret.Add(new T(item));
}
return ret;
}
【问题讨论】:
标签: c# generics extension-methods type-constraints