码迷,mamicode.com
首页 > 其他好文 > 详细

泛型约束

时间:2015-02-27 11:31:46      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

一共有5种不同的泛型约束

  • 值类型约束:要求泛型参数必须是值类型,例如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
    { 
    }

泛型约束

标签:

原文地址:http://www.cnblogs.com/jooper/p/4302727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!