Delen via


#If... Vervolgens...#Else richtlijnen

Hiermee worden geselecteerde blokken visual Basic-code voorwaardelijk gecompileerd.

Syntaxis

#If expression Then
   statements
[ #ElseIf expression Then
   [ statements ]
...
#ElseIf expression Then
   [ statements ] ]
[ #Else
   [ statements ] ]
#End If

generator

expression
Vereist voor #If en #ElseIf instructies, optioneel elders. Elke expressie, die uitsluitend bestaat uit een of meer voorwaardelijke compilerconstanten, letterlijke elementen en operators, die worden geëvalueerd of TrueFalse.

statements
Vereist voor #If instructieblok, optioneel elders. Visual Basic-programmalijnen of compilerrichtlijnen die worden gecompileerd als de bijbehorende expressie resulteert in True.

#End If
Hiermee wordt het #If instructieblok beëindigd.

Opmerkingen

Op het eerste gezicht lijkt het gedrag van de #If...Then...#Else instructies hetzelfde als die van de If...Then...Else instructies. De #If...Then...#Else instructies evalueren echter wat door de compiler wordt gecompileerd, terwijl de If...Then...Else instructies voorwaarden evalueren tijdens runtime.

Voorwaardelijke compilatie wordt doorgaans gebruikt om hetzelfde programma voor verschillende platforms te compileren. Het wordt ook gebruikt om te voorkomen dat foutopsporingscode wordt weergegeven in een uitvoerbaar bestand. Code die tijdens voorwaardelijke compilatie wordt uitgesloten, wordt volledig weggelaten uit het uiteindelijke uitvoerbare bestand, dus dit heeft geen invloed op de grootte of prestaties.

Ongeacht het resultaat van een evaluatie worden alle expressies geëvalueerd met behulp van Option Compare Binary. De Option Compare instructie heeft geen invloed op expressies in #If en #ElseIf instructies.

Notitie

Er bestaat geen enkele regelvorm van de#If, #Elseen #ElseIf#End If richtlijnen. Er kan geen andere code worden weergegeven op dezelfde regel als een van de instructies.

De instructies in een blok voor voorwaardelijke compilatie moeten volledige logische instructies zijn. U kunt bijvoorbeeld niet alleen de kenmerken van een functie voorwaardelijk compileren, maar u kunt de functie voorwaardelijk declareren samen met de bijbehorende kenmerken:

#If DEBUG Then
<WebMethod()>
Public Function SomeFunction() As String
#Else
<WebMethod(CacheDuration:=86400)>
Public Function SomeFunction() As String
#End If

Opmerking

In dit voorbeeld wordt de #If...Then...#Else constructie gebruikt om te bepalen of bepaalde instructies moeten worden gecompileerd.

#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

Zie ook