WHERE
子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型形参的实参。
public
class
MyGenericClass
<
T
>
where
T
:
IComparable
{ } T实现
IComparable
接口
public
void
Request<T>(List<T> EntityList) where T :
class
public
class
MyGenericClass
<
T
>
where
T
:
IComparable
,
new
()
class
MyClass
<
T
,
U
>
where
T
:
class
where
U
:
struct
.NET支持的类型参数约束有以下五种:
where T : struct | T必须是一个结构类型
where T : class | T必须是一个Class类型
where T : new() | T必须要有一个无参构造函数
where T : NameOfBaseClass | T必须继承名为NameOfBaseClass的类
where T : NameOfInterface | T必须实现名为NameOfInterface的接口