У меня есть набор объектов, которые я передаю как параметр для создания объектов другого типа (один на один). Я делаю это во многих местах (в основном, преобразование из объектов данных в бизнес-объекты). Я хочу написать общий метод расширения для этого. Но я застрял, потому что не знаю, как я могу указать ограничение, что бизнес-объект имеет конструктор, который принимает объект данных в качестве параметра. Ниже приведен код моей функции:
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;
}