C'est une question de syntaxe. J'ai une classe générique qui hérite d'une classe de base générique et applique une contrainte à l'un des paramètres de type. Je souhaite également que la classe dérivée implémente une interface. Pour la vie de moi, je n'arrive pas à trouver la syntaxe correcte.
Voici ce que j'ai:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
La première chose qui m'est venue à l'esprit était la suivante:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Mais c'est incorrect car cela oblige T2 à implémenter à la fois IBar et IFoo, et non DerivedFoo pour implémenter IFoo.
J'ai essayé un peu de googler, d'utiliser des deux-points, des points-virgules, etc., mais je suis arrivé à court. Je suis sûr que la réponse est très simple.