类型参数约束,
.NET支持的类型参数约束有以下五种:
where T : struct | T必须是一个结构类型
where T : class |T必须是一个类(class)类型
where T : new() | T必须要有一个无参构造函数
where T : NameOfBaseClass | T必须继承名为NameOfBaseClass的类
where T : NameOfInterface | T必须实现名为NameOfInterface的接口
例子:
public class BaseDAL<T> where T : class,new() //无参构造函数类 {
} public class UserInfoDAL : BaseDAL<UserInfo> { }