正确覆盖[NotNull]属性

时间:2015-09-05 14:32:08

标签: c# inheritance resharper

我从ArrayList继承并覆盖Add方法(见下文)。 奇怪的是,Add()方法已将对象值参数标记为[NotNull],而documentation表示“此值可以为空引用”。

无论如何,我现在将其标记为[CanBeNull](通过ReSharper注释属性)。 但IntelliSense仍然为我提供了将参数标记为[NotNull]的缓存文档。

为什么不覆盖文档?

/// <summary>
/// Bla bla
/// </summary>
/// <param name="value">
/// This Attribute is marked as CanBeNull.
/// </param>
/// <returns></returns>
public override int Add([CanBeNull] object value)
{
    if (value != null)
    {
        // Do sth.
    }
}

1 个答案:

答案 0 :(得分:3)

虽然ReSharper的可空性分析会考虑覆盖[NotNull]属性[CanBeNull],但也会显示在Ctrl + Shift + F1窗口中,ReSharper会在参数信息中错误地忽略它们。

我创建了RSRP-447900