Не с вашим собственным кодом, в C #. Из раздела 10.1.4 спецификации C # 3.0:
Прямой базовый класс типа класса
не должно быть ни одного из следующих
типы: System.Array
, System.Delegate
,
System.MulticastDelegate
, System.Enum
,
или System.ValueType
. Кроме того,
объявление общего класса не может использовать
System.Attribute
как прямой или
косвенный базовый класс.
Однако каждый раз, когда вы создаете тип делегата, который автоматически выводится из MulticastDelegate
.
С ECMA-335 , раздел 8.9.3:
Хотя, по большей части, делегаты
кажется, просто другой вид
пользовательский класс, они тесно
контролируется. Реализации
методы предоставляются ВЭС, а не
код пользователя. Единственные дополнительные участники
которые могут быть определены на типах делегатов
являются статическими или экземплярами методов.
Звучит так, будто это запрещает конструкторам. Вместо этого я лично использовал бы статический метод в обычном типе.