Это синтаксический вопрос. У меня есть универсальный класс, который наследуется от универсального базового класса и накладывает ограничение на один из параметров типа. Я также хочу, чтобы производный класс реализовал интерфейс. Да хоть убей, я не могу понять правильный синтаксис.
Вот что у меня есть:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
Первое, что пришло в голову:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Но это неверно, поскольку из-за этого T2 необходимо реализовать как IBar, так и IFoo, а не DerivedFoo для реализации IFoo.
Я пробовал немного погуглить, использовать двоеточия, точки с запятой и т. Д., Но у меня не получилось. Я уверен, что ответ невероятно прост.