C# 泛型类型参数与约束

.Net支持的泛型约束有以下五种:

  • where T : struct | T必须是一个结构类型
  • where T : class T必须是一个类(class)类型
  • where T : new() | T必须要有一个无参构造函数
  • where T : NameOfBaseClass | T必须继承名为NameOfBaseClass的类
  • where T : NameOfInterface | T必须实现名为NameOfInterface的接口