void function_name<T>(T[] datas) where T :new()
{......}
其中的where 既是泛型参数约束条件,常用的几种泛型参数约束
泛型类型约束 |
说明 |
|
T:struct | 参数类型必须是值类型,或者直接致命某一具体的值类型名称 | |
T:class | 参数类型必须是引用类型,这一点也适合用于任何类、接口、委托或数组类型 | |
T:new() | 类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new()约束必须最后指定 | |
T:<基类> | 类型参数必须是指定的基类或派生自指定的基类 | |
T:<接口名称> | 参数类型必须是指定的接口或实现指定的接口。可以指定多个接口约束,约束接口也可以是泛型的。 |