概念
对泛型中传入的类型校验,规定其必须满足的条件
举例
public class AGenericClass<T> where T : class{}//class 指T必须是引用类型
实例化
AGenericClass<string> a = new AGenericClass<string>();
分类
class:泛型T必须是引用类型
struct: 泛型T必须是值类型
new(): 泛型必须包含无参构造方法,与其他约束共用时放在最后
类名:泛型必须是某类或者是派生自某类,与接口共用则放在接口的前方