MsgBox()
방법은 MsgboxResult
Enumeration을 반환, 메소드가 반환하는 값을 확인합니다.
Option Strict On
을 파일의 맨 위에 배치하면 파일에 대해이 작업을 수행 할 수 있습니다.
- 프로젝트 속성> 컴파일> 컴파일 옵션에서 Option strict를 On으로 설정하면 프로젝트에서이 작업을 수행 할 수 있습니다.
- 도구> 옵션> 프로젝트 및 솔루션> VB 기본값에서 모든 프로젝트의 기본값으로 설정하십시오.
정말요. 오류가 발생하기 전에 모든 종류의 오류를 잡는 가장 쉽고 빠른 방법입니다. 인생에서 몇 시간을 되돌릴 수 있습니다. 나는 과장하지 않는다.
If MsgBoxResult.Yes Then
을 그리고 '라고 만약 조건이 참인지 거짓인지에 대한/후 검사 : 엄격한 컴파일와
컴파일러는이보고, 꺼져. MsgBoxResult.Yes
은 부울이 아닙니다. 정수입니다. 그러나 나는 그것을 개조 할 것이고, 제로 이외의 것이 모두 사실이라고 말할 것이다. '
MsgBoxResult
의 모든 값은 0이 아닙니다. 심지어 MsgBoxResult.No
조차도 "사실"입니다. Option Strict On
와
,이 컴파일러 오류 얻을 것이다 : 빨리 당신이 그것을 볼로
Option Strict On disallows implicit conversions from 'MsgBoxResult' to 'Boolean'.
그리고를, 당신은 당신이
If result = MsgBoxResult.Yes Then
을 의미하는 것을 깨닫게거야, 그리고 당신이 그것을 고칠 수 있습니다 프로그램을 실행하기도 전에.
컴파일러 오류는 무엇이 잘못 되었는가를 알아 내기 위해 코드를 디버그 할 필요가 없기 때문에 런타임 오류보다 낫습니다. 사용자가 오류를보고하고 잘못된 점을 파악하게해야하기 때문입니다. 우리 모두는 오류를 거의 발생시키지 않고 컴파일러는 즉시 오류를 잡아냅니다.
엄격한 컴파일 기능을 켜면 다른 많은 오류가 표시 될 수 있습니다. 이들 각각은 런타임 오류를 일으킬 수있는 무언가입니다.
갖는 엄격한 컴파일, 당신은
`WhatDoesThisDo("x", 0, TriState.UseDefault)`
당신은 런타임 오류가 호출하는 경우 다음
Private Sub WhatDoesThisDo(x As String, y As Integer, z As TriState)
If x And y And z Then
'do something
End If
End Sub
처럼 악한 모든 일을 할 수있게 해준다 해제
System.InvalidCastException: 'Conversion from string "x" to type 'Long' is not valid.'
그것은 자동차가 장소 전체를 몰아 내고 그들이 원하는대로 두 방향 고속도로가있는 것과 같습니다. 서로 부딪치지 마라. 사고를 예방하는 것은 보장 할 수 없지만 엄청난 잠재적 인 원인을 제거합니다.
열거 형 예와 아니요를 모두 비교합니다. 예를 6으로 평가하면 항상 참입니다. 코드를 더 표시하십시오 – Steve