나는 패턴 것 같다 여러 경우에 명중했다 :코드 계약 컴파일러는 이것이 null 일 수 있다고 어떻게 생각합니까?
Contract.Ensures(Contract.Result<BlahType>() != null);
...
BlahType Blah = new BlahType();
...
...
return Blah;
을하며 불만.
필드는 모두 비공개이며 메서드의 다른 부분은 아무 것도 사용하지 않습니다. (이것들은 모두 데이터가 디스크에서 가져와야하는 지연된 초기화입니다.)
물론 여기에 Contract.Assume을 추가 할 수 있지만 그 종류의 대답은 마음에 들지 않습니다.
전체 (최소) 코드로 인해 문제가 발생합니까? –
제공하신 코드로이 코드를 재현 할 수 없습니다.'Blah'를 수정하는 것이 있습니까? –
다른 어떤 것도'return' 할 수 있습니까? –