Questa è una domanda di sintassi. Ho una classe generica che eredita da una classe base generica e applica un vincolo a uno dei parametri di tipo. Voglio anche che la classe derivata implementi un'interfaccia. Per la vita di me, non riesco a capire la sintassi corretta.
Questo è quello che ho:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
La prima cosa che mi è venuta in mente è stata questa:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Ma questo non è corretto in quanto ciò fa sì che T2 debba implementare sia IBar che IFoo, non DerivedFoo per implementare IFoo.
Ho provato un po 'di ricerca su Google, uso di due punti, punto e virgola, ecc., Ma sono risultato breve. Sono sicuro che la risposta sia semplicissima.