Có bắt buộc phải ràng buộc một định nghĩa chung để thực hiện "giao diện chung" ... nghĩa là, tôi muốn lớp hỗ trợ truyền một giao diện và một lớp chung ràng buộc nó để lớp thực hiện giao diện. Ví dụ nếu tôi nói:Bắt buộc thực thi giao diện chung trong C#
MyGenericClass<IMyInterface, MyImplementation>.DoSomething();
Điều đó sẽ bị hạn chế rất MyImplementation mà thực hiện IMyInterface
Theo như tôi biết rằng có thể đạt được bằng cách
public class Dynamic_Loader<T, S> where S: T
Bây giờ, là có anyway để cũng buộc T là một giao diện?
Edit: Mục đích của việc này là phải có cái gì đó như:
private static List<T> interfaceList = new List<T>();
public static List<T> InterfaceList {get { return interfaceList;}}
public static void Add(S input) { interfaceList.Add(input);}
và có danh sách hạn chế để giao diện duy nhất (vì nó là vụ phải trở lại hiện thực của giao diện nhất định)
Ồ, tôi sẽ cho điều này: công cộng Danh sách tĩnh interfacelist = new List ; void tĩnh công cộng Thêm (đầu vào S); Và vâng, nó cũng sẽ hoạt động nếu T chỉ là một lớp cơ sở nhưng máy khách sẽ nhận được các giao diện chứ không phải các lớp cơ sở. –