十字星

  • 首页
  • 技术
  • 随笔
  • 瞎折腾
  • 平面设计
  • 文集
  • 留言
  • 其他
    • API测试
  1. 首页
  2. 技术
  3. 正文

C# 中的where T : class, new() 到底是什么意思?

2023-05-10 1670点热度 0人点赞 0条评论

在一些开源代码里经常能看到下面的这段代码,那这段代码是什么意思呢?

class A<T> where T : class, new()

这里的Where 其实和sql中的 where 是一样的,下面这代码用来约束泛型 T 必须有一个无参构造函数

常见的语法

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

 

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: C#
最后更新:2023-05-10

cxw

技术宅,最喜瞎折腾.

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最新 热点 随机
最新 热点 随机
git迁移项目中的某个目录到新项目 winform判断设计模式还是运行时模式 C# 中的where T : class, new() 到底是什么意思? 解决安装.NET失败并提示“无法建立到信任根颁发机构的证书链” 关闭.net4.0的http访问默认代理 删除名称最后带空格的文件夹
Visual Studio Code(VSCode)中查看php数组的全部元素 WordPress5.5版本如何使用自带站点地图sitemap centos系统下使用yum update报错:error: rpmdb: BDB0113 Thread/process 4001610/139762934704000 failed: BDB1507 Thread died in Berkeley DB library WordPress文章阅读量统计和显示(非插件,刷新页面不累加) 复制网页上的内容到Excel,结果不小心复制进去了一个输入框,怎么删除? Robots文件限制问题
标签聚合
工具 Linux Excel CentOS IT C# W10 PHP WinForm WordPress
最近评论
admin 发布于 5 年前(01月22日) 使用Andi Dittrich作者的插件Enlighter实现
alex 发布于 5 年前(01月22日) 博主,请问把代码贴到博客里可以复制是怎么实现的

COPYRIGHT © 2021 十字星. ALL RIGHTS RESERVED 京ICP备2020032489号

Theme Kratos Made By Seaton Jiang