//使用泛型约束,约束了T只能是值类型
class MyClass<T> where T : struct { }
//使用泛型约束,约束了T只能是引用类型
class MyClass<T> where T : class { }
//限制T必须是实现了某个接口的类型
//要求T必须是实现了IComparable接口的子类型对象或者就是该接口
class MyClass<T> where T : IComparable { }
//要求T必须是Person类型,或者是Person类的子类
class MyClass<T> where T : Person { }
//要求T必须是Person类型,或者是Person类的子类
class MySchool<T>
where T : Person
where T : new()//要求将来传递进来的类型必须具有一个无参数的构造函数
{ }
//对T没有要求,但是V必须是T类型或者T类型的子类型
class MyClass<T, V>
where V : T
{ }
C#泛型约束
最新推荐文章于 2025-03-15 16:17:13 发布