C#和可为null的标志/注释
本文关键字:标志 注释 null | 更新日期: 2023-09-27 17:58:37
C#是否具有可为null的注释?
例如在Java 中
public @Nullable <T extends BaseJsonClass> T getModel(String saveKey, Class<T> type) {
现在,当开发人员尝试调用时
Object.getModel().someMethod()
编译器会警告他们没有检查null。
我知道C#中类似someObject?
的var名称末尾的?
标记,但问题是,当在许多地方使用var时,这可能是一个棘手/令人讨厌的/JSON模型。
C#没有类似的功能——这种功能还不是语言的一部分。
但是,如果使用ReSharper,则可以利用其值和可空性分析功能,该功能允许您向代码添加几个属性:[CanBeNull]
、[NotNull]
、[ItemCanBeNull]
、[ItemNotNull]
。插件执行的可空性分析将考虑这些属性,从而导致您要求的编译时警告。
简而言之,没有
但目前这是未来发展的一个建议
建议:可为null的引用类型和可为null性检查