¿Hay alguna forma de forzar restricciones para una definición genérica para implementar una "interfaz genérica" ... es decir, quiero que la clase admita pasar una interfaz y una clase genérica restringiéndola para que la clase implementa la interfaz. Por ejemplo, si digo:Forzar implementación de interfaz genérica en C#
MyGenericClass<IMyInterface, MyImplementation>.DoSomething();
que deberían estar constreñido por lo que MyImplementation implementa IMyInterface
Por lo que yo sé que se puede lograr mediante
public class Dynamic_Loader<T, S> where S: T
Ahora, hay alguna forma de también forzar T a ser una interfaz?
Editar: El propósito de esto iba a tener algo como:
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);}
y tienen la lista restringida únicamente a las interfaces (ya que se supone que volver implementaciones de ciertas interfaces)
Oh, yo iba para esto: Lista public static interfacelist = nueva lista ; public static void Add (S input); Y sí, también funcionará si T es solo una clase base pero el cliente debería obtener interfaces, no clases base. –