C#是否具有Nullable注释?
例如在Java中
public @Nullable <T extends BaseJsonClass> T getModel(String saveKey, Class<T> type) {
现在开发人员试图调用
Object.getModel().someMethod()
编译器会警告他们没有检查null。
我知道C#中的var名称末尾有?
标记,如someObject?
,但问题是当使用vars时它可能很棘手/烦人/ JSON模型在许多地方。
答案 0 :(得分:8)
C#没有这样的东西 - 这个功能不是语言的一部分(还)。
但是,如果您使用Resharper,则可以使用其Value and Nullability Analysis功能,该功能允许您为代码添加多个属性:[CanBeNull]
,[NotNull]
,[ItemCanBeNull]
, [ItemNotNull]
。插件执行的可空性分析将考虑这些属性,从而导致您要求的编译时警告。
答案 1 :(得分:3)