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