2015-09-05 5 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

Хотя переопределены [NotNull] атрибуты с [CanBeNull] уважаются анализа допустимость пустых ReSharper и также показаны в Shift + F1 окна Ctrl +, ReSharper неправильно игнорирует их в информации параметра.

Я создал RSRP-447900.

Смежные вопросы