선택한 Visual Basic 코드 블록을 조건부로 컴파일합니다.
문법
#If expression Then
statements
[ #ElseIf expression Then
[ statements ]
...
#ElseIf expression Then
[ statements ] ]
[ #Else
[ statements ] ]
#End If
부분
expression
#If 필수 및 #ElseIf 문, 다른 곳에서는 선택 사항입니다. 하나 이상의 조건부 컴파일러 상수, 리터럴 및 연산자를 계산하거나 False계산 True 하는 하나 이상의 조건부 컴파일러 상수로만 구성된 모든 식입니다.
statements
문 블록에 #If 필요하며, 다른 곳에서는 선택 사항입니다. 연결된 식이 .로 계산 True될 경우 컴파일되는 Visual Basic 프로그램 줄 또는 컴파일러 지시문입니다.
#End If
문 블록을 종료합니다 #If .
비고
표면에서 지시문의 #If...Then...#Else 동작은 문의 동작과 동일하게 If...Then...Else 표시됩니다. 그러나 지시문은 #If...Then...#Else 컴파일러에서 컴파일된 내용을 평가하는 반면 문은 런타임에 If...Then...Else 조건을 평가합니다.
조건부 컴파일은 일반적으로 서로 다른 플랫폼에 대해 동일한 프로그램을 컴파일하는 데 사용됩니다. 또한 디버깅 코드가 실행 파일에 나타나지 않도록 하는 데도 사용됩니다. 조건부 컴파일 중에 제외된 코드는 최종 실행 파일에서 완전히 생략되므로 크기나 성능에 영향을 주지 않습니다.
평가 결과에 관계없이 모든 식은 .를 사용하여 Option Compare Binary평가됩니다. 문은 Option Compare 식 및 #ElseIf 문에 #If 영향을 주지 않습니다.
비고
, #Else및 #ElseIf#End If 지시문의 #If한 줄 형식이 없습니다. 지시문과 동일한 줄에 다른 코드는 표시할 수 없습니다.
조건부 컴파일 블록 내의 문은 완전한 논리 문이어야 합니다. 예를 들어 함수의 특성만 조건부로 컴파일할 수는 없지만 해당 특성과 함께 함수를 조건부로 선언할 수 있습니다.
#If DEBUG Then
<WebMethod()>
Public Function SomeFunction() As String
#Else
<WebMethod(CacheDuration:=86400)>
Public Function SomeFunction() As String
#End If
예시
이 예제에서는 #If...Then...#Else 구문을 사용하여 특정 문을 컴파일할지 여부를 결정합니다.
#Const CustomerNumber = 36
#If CustomerNumber = 35 Then
' Insert code to be compiled for customer # 35.
#ElseIf CustomerNumber = 36 Then
' Insert code to be compiled for customer # 36.
#Else
' Insert code to be compiled for all other customers.
#End If
참고하십시오
.NET