Tôi có một tập hợp các đối tượng mà tôi truyền làm tham số để tạo các đối tượng thuộc loại khác (một cho một). Tôi đang làm điều này ở nhiều nơi (về cơ bản chuyển đổi từ các đối tượng dữ liệu sang các đối tượng kinh doanh). Tôi muốn viết một phương pháp mở rộng chung để thực hiện điều này. Nhưng tôi bị mắc kẹt bởi vì tôi không biết làm thế nào tôi có thể xác định ràng buộc rằng đối tượng kinh doanh có một nhà xây dựng lấy đối tượng dữ liệu làm tham số. Sau đây là mã chức năng của tôi:Chỉ định ràng buộc của hàm tạo cho Tham số chung
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ó cách giao diện đẹp và tôi có thể sử dụng nó vì tôi đang sử dụng mẫu T4 để tạo BO vì vậy sẽ không quá nhiều công việc. – TheVillageIdiot