Я хотел бы реализовать универсальный класс C #, который выглядит примерно следующим образом:
abstract class Foobar<T> : AbstractBase, T
{ ... }
Это терпит неудачу, потому что C # будет разрешать только типы после базового класса быть интерфейсами, поэтому далее я попробую это:1004 *
abstract class Foobar<T> : AbstractBase, T where T : interface
{ ... }
Но потом я обнаружил, что C # не допускает эту форму ограничения типа.Допускаются только where T : struct
и where T : class
.
Как я могу указать, что параметр типа должен быть только типом интерфейса?