我们可以将类型限制为委托

use*_*949 4 .net c#

我们可以将类型限制为类或结构.我们可以严格将该类型作为代表吗?

Ant*_*ram 9

A Delegate是一个类,您通常可以将非密封类指定为约束.但是,语言规范明确排除System.Delegate在10.1.5节中作为有效约束.

类类型约束必须满足下列规则:

  • 类型必须是类类型.
  • 该类型不得密封.
  • 该类型不能是以下类型之一:System.Array,System.Delegate,System.Enum或System.ValueType.
  • 类型不能是对象.因为所有类型都是从对象派生的,所以如果允许这样的约束就没有效果.
  • 给定类型参数的最多一个约束可以是类类型.