Tengo una colección de objetos que paso como parámetro para crear objetos de otro tipo (uno por uno). Estoy haciendo esto en muchos lugares (básicamente convirtiendo objetos de datos en objetos comerciales). Quiero escribir un método de extensión genérico para lograr esto. Pero estoy atascado porque no sé cómo puedo especificar la restricción de que el objeto comercial tiene un constructor que toma un objeto de datos como parámetro. El siguiente es el código de mi función:Especificación de la restricción del constructor para el parámetro genérico
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;
}
Sí, la forma de interfaz es buena y puedo usarla porque estoy usando la plantilla T4 para generar BO, por lo que no será demasiado trabajo. – TheVillageIdiot