To jest pytanie dotyczące składni. Mam klasę ogólną, która dziedziczy z ogólnej klasy bazowej i stosuje ograniczenie do jednego z parametrów typu. Chcę również, aby klasa pochodna implementowała interfejs. Za całe życie nie potrafię znaleźć właściwej składni.
Oto co mam:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
Pierwszą rzeczą, która przyszła mi do głowy, było to:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Ale to jest niepoprawne, ponieważ powoduje, że T2 musi zaimplementować zarówno IBar, jak i IFoo, a nie DerivedFoo, aby zaimplementować IFoo.
Próbowałem trochę googlować, używać dwukropków, średników itp., Ale wyszedłem krótko. Jestem pewien, że odpowiedź jest banalnie prosta.