保钠

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

泛型约束基本上有五种:

  • 值类型约束:要求泛型参数必须是值类型,例如int,short以及自定义的stuct等
    public class MyClass2<T> 
        where T : struct//这个泛型类只接受值类型的泛型参数 
    { 
    }
  • 引用类型约束:要求泛型参数必须是引用类型,例如string,object,以及自定义的class
    public class MyClass<T> 
        where T:class//这个泛型类只接受引用类型的泛型参数 
    { 
    }
  • 构造函数约束:要求泛型参数必须有构造函数
    public class MyClass3<T> 
        where T : new() 
    { 
    }
  • 接口约束:要求泛型参数必须实现某个接口
    public class MyClass4<T> 
        where T : System.IComparable 
    { 
    }
  • 基类约束:要求泛型参数必须继承某个基类
    public class MyClass5<T> 
        where T : Customer 
    { 
    }
posted on 2022-05-11 17:48  保钠  阅读(190)  评论(1编辑  收藏  举报