【发布时间】:2018-07-22 19:28:53
【问题描述】:
使用即将推出的 C# 8 可空引用类型功能,我如何判断字段/方法/属性等的类型签名在运行时是可空引用类型还是不可空引用类型?
【问题讨论】:
-
Roslyn 不是运行时检查的正确工具。你正在寻找Reflection。
标签: c# c#-8.0 nullable-reference-types
使用即将推出的 C# 8 可空引用类型功能,我如何判断字段/方法/属性等的类型签名在运行时是可空引用类型还是不可空引用类型?
【问题讨论】:
标签: c# c#-8.0 nullable-reference-types
在运行时,您应该能够通过检查自定义属性来检查。这就是当前原型捕获此信息的方式。但我想在它发布之前,有些东西仍然可以改变。 在 yaakov 提供的官方 C# 语言设计库中查看this 问题的答案。
【讨论】:
我不认为你可以。
按照我的阅读方式,这完全是编译时的事情。
即refclass= 不可为空,引用类? = nullable 并且编译器确保在编译时检查它。
运行时“无关紧要”——类不会改变。我可以通过空检查将可空转换为不可空,编译器会很高兴。
【讨论】: