繁体   English   中英

如何检查泛型参数 T 是否可以为空?

How to check whether generic parameter T is nullable?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

给定一个 function

inline fun <reified T> foo() {
    //... do something differently if T is nullable ...
}

如何检查T是否可以为空?

1 个回复

听起来很明显,一旦你知道它:

T可以为空...如果null可以是T类型。

例如

inline fun <reified T> isTypeNullable(): Boolean = when {
    null is T -> true
    else -> false
}

参看。 https://ideone.com/Pz3ia6

(重要的是,这里Treified ,否则它将被删除并且整个事情都会引发异常)

2 可以为空的参数检查

假设我在C#中编写公共API: 我想知道有没有保证我不需要检查参数的空值,如果我有非可空参数( 对象?param )作为方法参数? 换句话说,上面的示例检查null冗余? ...

4 如何检查IMobileServiceTableQuery 是否为空

我想在插入Easy Tables Azure数据库之前检查它是否存在一个值。 当我再尝试打开IMobileServiceTableQuery, l成一个列表,我得到一个NullReferenceException 当我尝试以下操作时: ...每次我运行代码时都会进行插入。 ...

5 检查可以为空的日期值是否正确

我有一个包含日期的数据集,想要检查日期顺序是否正确。 在提供日期的所有情况下,这应该成立:Date1 &lt;Date2 &lt;Date3 &lt;Date4。 当记录包含某些日期的NULL值时,应检查非NULL的日期。 所以这就是我想要的结果: 我为此写了一篇广泛的CAS ...

7 T-SQL:检查变量是否为空

我想知道是否有一种方法来检查变量@varChar是否为NULL 和变量@bit是否为0 。 我的尝试: 我的问题是ISNULL(check_if_null, replacement_value)不能像这样工作,而且我找不到其他方法。 ...

8 检查泛型参数是否在Type []中?

我有这样的事情: 我想检查一下我的通用参数是否在typList ,但是出现Error 1 The type or namespace name 'myCustomGenericParameter' could not be found (are you missing a using d ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM