Могу я продиктовать это параметр типа C # должен быть только типом интерфейса?

Я хотел бы реализовать общий класс C #, который выглядит примерно следующим образом:

abstract class Foobar<T> : AbstractBase, T
{ ... }

Это не удается, потому что C # разрешает типы только после базовым классом должны быть интерфейсы, поэтому затем я попробую следующее:

abstract class Foobar<T> : AbstractBase, T where T : interface
{ ... }

Но затем я обнаружил, что C # не допускает эту форму ограничения типа. Разрешены только , где T: struct и , где T: class .

Как я могу указать, что параметр типа должен быть только типом интерфейса?

7
задан pauldoo 11 October 2010 в 10:59
поделиться