C# 如何理解如下泛型约束 class A<T>:where T:class{}

约束说明
where T: struct 类型参数必须是值类型。 可以指定除 Nullable 以外的任何值类型。 有关更多信息,请参见使用可以为 null 的类型(C# 编程指南)
where T : class 类型参数必须是引用类型;这一点也适用于任何类、接口、委托或数组类型。
where T : new() 类型参数必须具有无参数的公共构造函数。 当与其他约束一起使用时,new() 约束必须最后指定。
where T : <base class name> 类型参数必须是指定的基类或派生自指定的基类。
where T : <interface name> 类型参数必须是指定的接口或实现指定的接口。 可以指定多个接口约束。 约束接口也可以是泛型的。
where T : U 为 T 提供的类型参数必须是为 U 提供的参数或派生自为 U 提供的参数。
posted @ 2017-07-25 16:03  十八岁的郭富城  阅读(4246)  评论(0编辑  收藏  举报