2015-09-05 112 views
1

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

无论如何,我现在标记为[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. 
    } 
} 
+0

这不是一个属性,它是一个方法参数 - 使用正确的术语,以避免任何人愿意回答。另外,请考虑使用'List '而不是'ArrayList'。 –

回答

3

虽然与[CanBeNull]覆盖[NotNull]属性由ReSharper的空性分析尊重及按Ctrl + Shift + F1窗口也显示,ReSharper的错误地忽略在参数信息。我建立了RSRP-447900