c# - 在 c# 中,'where T : class?' 是什么意思?意思是
问题描述
在 C# 中是什么where T : class?
意思(注意类约束末尾的问号)
例如
public IList<T> DoThis<T>() where T : class?
解决方案
?
附加到 C# 中的类型(从版本 8 开始支持)意味着它是可为空的引用类型。class?
意味着调用代码必须传入一个类型参数,它是 a class
,并且可以为空。
例如,DoThis<string?>(someNullableString)
有效。也可以使用不可为空的版本调用它,例如DoThis<string>(someNonNullableString)
.
推荐阅读
- r - 将一个 sf 对象导出到多个 shapefile
- ios - 如何将自定义脚本传递给 ./configure 以在编译后运行?
- android - 如何从表 SQLite 中获取最后一条记录
- php - 更新了 composer.json 中的 symfony,但在尝试使用“require”安装新软件包时出现错误
- node.js - Axios - 请求失败,状态码 400 错误
- r - 将时间列更改为没有日期值的 POSIXct
- android - getView() 方法中的 Parent 到底是什么
- delphi - Delphi 源代码仅具有 LF 与 CRLF 导致 IDE 中的源损坏
- javascript - 当代码在项目根目录之外时,babel-loader reactjs Unexpected Token
- unit-testing - 如何比较/匹配模拟中的闭包?