C#和可空标志/注释?

时间:2016-07-25 07:41:24

标签: c# nullable

C#是否具有Nullable注释?

例如在Java中

public @Nullable <T extends BaseJsonClass> T getModel(String saveKey, Class<T> type) {

现在开发人员试图调用

Object.getModel().someMethod()

编译器会警告他们没有检查null。

我知道C#中的var名称末尾有?标记,如someObject?,但问题是当使用vars时它可能很棘手/烦人/ JSON模型在许多地方。

2 个答案:

答案 0 :(得分:8)

C#没有这样的东西 - 这个功能不是语言的一部分(还)。

但是,如果您使用Resharper,则可以使用其Value and Nullability Analysis功能,该功能允许您为代码添加多个属性:[CanBeNull][NotNull][ItemCanBeNull][ItemNotNull]。插件执行的可空性分析将考虑这些属性,从而导致您要求的编译时警告。

答案 1 :(得分:3)

简而言之,没有。

但它目前是未来发展的提案

Proposal: Nullable reference types and nullability checking