Ésta es una cuestión de sintaxis. Tengo una clase genérica que hereda de una clase base genérica y está aplicando una restricción a uno de los parámetros de tipo. También quiero que la clase derivada implemente una interfaz. Por mi vida, parece que no puedo encontrar la sintaxis correcta.
Esto es lo que tengo:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
Lo primero que me vino a la mente fue esto:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Pero eso es incorrecto ya que hace que T2 necesite implementar IBar e IFoo, no DerivedFoo para implementar IFoo.
Probé un poco de búsqueda en Google, uso de dos puntos, punto y coma, etc., pero me quedé corto. Estoy seguro de que la respuesta es increíblemente simple.