泛型类型参数约束

.net开发中,我们经常在一个公共的父类文件中需要传入一个泛型,对于这个泛型,我们还可以对其进行类型参数约束。

.net支持的类型参数约束有5种:

1. where T:struct                                 T必须是一个结构类型

2. where T:class                                   T必须是一个类(class),不能是结构类型,引用类型

3. where T:new()                                  T必须要有一个无参构造函数,可以被new()

4. where T:NameOfBaseClass              T必须继承名为NameOfBaseClass的类

5. where T:NameOfInterface                T必须实现名为NameOfInterface的接口

eg.    public class RepositoryFactory<T> where T : class,new() {

         }

T是一个类,也是一个无参的构造函数


猜你喜欢

转载自blog.csdn.net/Darrenzzb66/article/details/80281978