首页 > 其他 > 详细

泛型中Where T:Class和Where T:new()的使用与区别

时间:2021-06-07 16:09:23      阅读:11      评论:0      收藏:0      [点我收藏+]

如下是泛型常用的写法:

class A<T> where T:new()

这是类型参数约束,其中where表示对类型变量T的约束关系。

 

其中,最常用的当属class和new()两种约束。泛型可以是值类型也可以是引用类型,class表示这个T为引用类型new()表示这个泛型必须有构造函数否则不能使用

 

除了class和new()之外,还有其他的约束关系。.NET支持的类型参数约束有以下五种:

where T: class        // T必须是一个类(class)类型,不是结构(structure)类型
where T: new()        // T必须要有一个无参构造函数
where T: struct       // T必须是一个结构类型
where T: NameOfBaseClass    // T必须继承名为NameOfBaseClass的类
where T: NameOfInterface    // T必须实现名为NameOfInterface的接口

泛型中Where T:Class和Where T:new()的使用与区别

原文:https://www.cnblogs.com/bosins/p/14858258.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!