public class MyClass<T> where T : class
{
// 类型参数T必须是引用类型
}
public class MyClass<T> where T : struct
{
// 类型参数T必须是值类型
}
public class MyClass<T> where T : IComparable
{
// 类型参数T必须实现IComparable接口
}
public class MyClass<T> where T : MyBaseClass
{
// 类型参数T必须为MyBaseClass类或其派生类
}
public class MyClass<T> where T : new()
{
// 类型参数T必须有无参构造函数
}
这些是泛型约束的最常见用途,它们可以帮助我们在编写泛型类或方法时限制类型参数的类型,以提高程序的类型安全性和可读性。