2016-07-09 5 views
2

는 null, 나는 다음을 수행 할 수있는 가정. 그러나 나는 경고를 얻지 못한다. 다시 아무것도정적 검사 증명되지 매개 변수 = 내가 코드 계약에 대해 알게

public void ContractTestCallerCaller() 
{ 
    this.ContractTestCaller(null); 
} 

그러나 :
그때 나는이 작업을 수행하지 않을 때 나는 적어도 경고를 얻을 수 있습니다 생각했다. 내가 뭔가를 잘못하고 있어요

  1. :

    나는 세 가지 possibilites를 참조하십시오.
  2. 코드 계약은이 작업을 수행하기로되어 있지 않습니다.
  3. 정적 검사는 매우 좋지 않다. 그것은

어느 하나?

enter image description here

+0

Visual Studio에서 계약 설정을 확인, 그 프로젝트 속성에서 :

는 또한 같은 문제로 다스 려이 링크를 발견했다. 빌드 설정에 따라 컴파일 중에 실제로 생략 될 수 있습니다. –

+0

@ Dandré 설정을 추가했습니다. 나는 그들이 다른 코드 계약 경고를 받기 때문에 비록 그들이 옳다고 생각한다. 나는 방금 내가 여기에서도 하나를 얻을 것이라고 생각했다. –

+0

클래스 정의를 추가 할 수 있습니까? 코드 계약이 올바르게 작동하려면 속성이 필요하다는 것은 확실합니다. – Eris

답변

1

이 문제가 확인되는 "완전 추론이 필요합니다"옵션 밝혀 : 여기

내 설정입니다. 나는 왜 그런지 완전히 이해하지 못한다. 그러나 나는 그것을 꺼놓을 때 작동한다.
https://github.com/Microsoft/CodeContracts/issues/439