where T:new() 是什么意思
2024-06-03 09:07:40
where T:new() 是什么意思
经常看到方法后面加where T:new() ,下面来解释下
比如如下这个方法
protected
static
T CreateNewInstance<T>() where T :
new
()
{
return
new
T();
}
解释如下:
T后面跟的是泛型约束,啥叫泛型约束,就是你必须要符合这个规则来,不然就不让你编译通过 。
后面的new()代表这个T 必须有一个无参的构造函数,
当然一个新建的class。这个类做为T,也是可以编译通过的。
因为如果类中没有构造函数会默认就加一个无参的构造函数,刚好符合这个约束。
比如
Public Class People{}
这个people 做为T默认是可以编译通过的。因为他等同于
Public Class People(public People(){})
但如果有一个这样的People就会编译不通过了。
Public Class People(public People(string s){}})
最新文章
- 清华博士后用10分钟讲解AlphaCode背后的技术原理,原来程序员不是那么容易被取代的!...
- [codevs 1232] 飞行员配对方案问题
- 【Linux】一步一步学Linux——groupmod命令(89)
- MySQL 黑洞引擎的使用场景解释
- [转] linux-Centos7安装python3并与python2共存
- 交叉表 列字段排序_Tableau学习系列(8):表计算
- 浏览器缓存知识小结及应用
- 专业QA如何实施可靠的CI / CD管道?
- 计算机如何查找目标,如何使用命令行查找计算机地理位置? | MOS86
- LeetCode 1658. 将 x 减到 0 的最小操作数(哈希)
- java虚引用作用_深入理解Java中的引用(二)——强软弱虚引用
- tensorflows十五 再探Momentum和Nesterov's accelerated gradient descent 利用自动控制PID概念引入误差微分控制超参数改进NAGD,速度快波动小
- 给ListView视图添加行号
- 前端请求接口post_程序员:HttpClient进行post请求的工具类,访问第三方接口HTTPS...
- Cheatsheet: 2013 04.01 ~ 04.16
- PHP word转pdf
- 动易和php,国内主流CMS对比之织梦内容管理系统VS动易
- ERP源码 跨境电商ERP源码 Java电商ERP源码
- python3爬虫-Python3网络爬虫入门实战解析
- 定制网站建设流程有哪些
热门文章
- 信息学奥赛一本通 1356:计算(calc)
- 信息学奥赛一本通 1115:直方图 | OpenJudge NOI 1.9 09
- 信息学奥赛一本通(2027:【例4.13】三角形)
- 传纸条(洛谷-P1006)
- 最大子矩阵(信息学奥赛一本通-T1224)
- 求π的值(信息学奥赛一本通-T1156)
- 计算器的改良(洛谷-P1022)
- Centos系列 Curl error (37): Couldn‘t read a file:// file for file:///etc/pki/rpm-gpg/RPM-GPG-KEY-XXXX
- 我的世界最危险的服务器生存系列,《我的世界》极具危险的服务器
- python时域信号特征提取(各种因子)