읽기 전용 속성 및 해당 속성이 생성자에서 인스턴스화되고 읽기 전용으로 표시된 구체적인 클래스가있는 인터페이스가 있다고 가정 해 보겠습니다. Resharper 방지 "가능한 null 참조 예외"경고
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에서 저를 경고하는 인터페이스를 사용
나는 코드를 호출의 수 null 참조가있을 수있다.public class ExampleWithWarnings
{
public void Show()
{
IExample example = new Example();
// resharper warns about null reference
example.Items.Add("test");
}
}
나는 정의 상 인터페이스가 속성에 값이 있음을 보장하지 않는다는 것을 알고 있습니다. (또한 인터페이스의 속성이 이상적이지 않음을 알고 있습니다.) 그러나 나는이 자산이 언제나 가치가 있다는 것을 안다.
Resharper가 경고를 표시하지 못하게하는 인터페이스에 추가 할 수있는 마법 속성이 있습니까? 차라리 클래스의 모든 사용법을 disable pragma 경고로 꾸밀 필요가 없습니다.
Resharper 제거를 고려하지 않겠습니까? 읽기 전용 멤버를 생성자에서 직접 수행하는 것이 아니라 직접 초기화하여 종료 할 수 있습니다. 그건 같은거야. –
어떤 버전의 ReSharper를 사용하고 있습니까? –
@ 한스, 문제는 구체적인 수업이 아닙니다. – bryanbcook