参见英文答案 >
Is there a generic constructor with parameter constraint in C#?5个
我有一个对象的集合,我通过作为参数创建另一种类型的对象(一个一个).我在许多地方这样做(基本上从数据对象转换为业务对象).我想编写一个通用的扩展方法来完成这个.但是我被卡住了,因为我不知道如何指定业务对象具有以数据对象为参数的构造函数的约束.以下是我的功能代码:
我有一个对象的集合,我通过作为参数创建另一种类型的对象(一个一个).我在许多地方这样做(基本上从数据对象转换为业务对象).我想编写一个通用的扩展方法来完成这个.但是我被卡住了,因为我不知道如何指定业务对象具有以数据对象为参数的构造函数的约束.以下是我的功能代码:
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; }