如果你只做能力范围之内的事,你就永远不会有进步!|

陈侠云

园龄:2年10个月粉丝:1关注:1

观《深入理解C#》有感---泛型五种约束

一、引用类型约束

class Sample<T> where T : class

类型实参可以是:
任何类:	Sample<string>
接口:	Sample<IDisposable>
数组:	Sample<int[]>
委托:	Sample<Action>

二、值类型约束

class Sample<T> where T : struct

类型实参可以是:
值类型:	Sample<int>
枚举:	Sample<Enum>

三、构造函数类型约束

class Sample<T> where T : new()

它检查类型实参是否有一个可用于创建类型实参的无参构造函数(这适用于所有值类型)

四、转换类型约束
image
有一点要注意,约束类不能是System.ValueType或者密封类或者结构体

五、组合约束
image

本文作者:陈侠云

本文链接:https://www.cnblogs.com/chenxiayun/p/18294957

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   陈侠云  阅读(8)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起