http://msmvps.com/blogs/peterritchie/archive/2008/07/21/working-with-resharper-s-external-annotation-xml-files.aspx
тим, у меня есть интерфейс со свойством только для чтения и конкретным классом, в котором свойство создается в конструкторе и помечается как доступное только для чтения.
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 показывать предупреждение? Я бы предпочел не украшать все виды использования класса предупреждением об отключении прагмы.