의 널 (NULL) 결과를 확인 dialogResult.HasValue
, "Expression is always true"입니다.나는이처럼 보이는 WPF 응용 프로그램에서 일부 코드를 작성했습니다 OpenFileDialog를
첫 번째 질문은 ReSharper가 dialogResult에 항상 결과가 있음을 알 수있는 것입니다. 즉, Microsoft.Win32.OpenFileDialog
클래스의 디 컴파일 된 코드로 바로 이동해야하며 null을 반환하지 않습니다. 어느 쪽이든, 아니면 특별히이 클래스에 대한 하드 코딩 된 경고 일뿐입니다.
둘째, 결과가 null이되지 않는다고 가정하는 것이 좋지 않은 것처럼 보입니다. Microsoft에서 null 값을 사용할 수있는 라이브러리의 차후 버전을 출시하면 어떻게 될까요? 이 문제에 관한 문서는 다음과 같습니다 : "In the current implementation, the derived classes (OpenFileDialog and SaveFileDialog) will only return true or false" 이것은 우리가 영원히 의지 할 수있는 영구적 인 배열이 아니라는 것을 의미합니다.
내가 지나치게 경계를 가리고 있는지 여부와 ReSharper가 시사하는 것처럼 줄을 제거해야하는지에 대한 생각은 무엇입니까?
질문의 나머지 절반에 답변 해 주셔서 감사합니다. 저는 이것이 JetBrains의 실수이며 API가 null을 반환하지 않는다는 여전히 잘못된 가정이라고 생각합니다. 이것은 구현 세부 사항입니다. – Ian
이 JMK를 명확히 해 주셔서 감사합니다[email protected]에 동의합니다. 이렇게 하드 코딩 된 가정을 만드는 것은 나쁜 프로그래밍 습관처럼 보입니다. 공용 인터페이스는 일반적으로 블랙 박스로 간주되어야하며 nullable 반환 유형이있는 경우이를 처리해야합니다. –
여러 질문 중 서로 다른 부분에 각각 답을했기 때문에 두 대답을 합격으로 표시 할 수는 없습니다. 어쨌든 둘 다 upvoting. –