Предотвратить предупреждения Resharper «Возможное исключение нулевой ссылки»

Допустим, у меня есть интерфейс со свойством только для чтения и конкретным классом, в котором свойство создается в конструкторе и помечено как доступное только для чтения.

internal interface IExample
{
    ObservableCollection<string> Items { get; }
}


internal class Example : IExample
{ 
    private readonly ObservableCollection<string> _items;

    public Example()
    {
       _items = new ObservableCollection<string>();
    }

    public ObservableCollection<string> Items
    {
       get { return _items; }
    }
}

Когда я использую интерфейс, Resharper предупреждает меня, что я могу иметь возможную нулевую ссылку в вызывающем коде.

public class ExampleWithWarnings
{
    public void Show()
    {
       IExample example = new Example();

       // resharper warns about null reference
       example.Items.Add( "test" );
    }
}

Я понимаю, что по определению интерфейс не гарантирует, что свойство будет иметь значение. (Я также понимаю, что свойства интерфейсов не идеальны). Но я знаю, что это свойство всегда будет иметь значение.

Есть ли какой-нибудь магический атрибут, который я могу добавить в интерфейс, который предотвратит отображение предупреждения Resharper? Я бы предпочел не украшать все использования класса предупреждением о запрещении прагмы.

6
задан bryanbcook 2 March 2011 в 19:58
поделиться