#If...Then...#Else – direktivy

Podmíněně zkompiluje vybrané bloky kódu jazyka Visual Basic.

Syntaxe

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

Součástky

expression
Povinné pro #If příkazy a #ElseIf příkazy, volitelné jinde. Libovolný výraz, který se skládá výhradně z jedné nebo více konstant podmíněného kompilátoru, literálů a operátorů, které se vyhodnotí jako True nebo False.

statements
Povinné pro #If blok příkazu, volitelné jinde. Direktivy programu jazyka Visual Basic nebo direktivy kompilátoru, které jsou kompilovány, pokud se přidružený výraz vyhodnotí jako True.

#End If
Ukončí #If blok příkazu.

Poznámky

Na povrchu se chování #If...Then...#Else direktiv zobrazuje stejně jako chování If...Then...Else příkazů. Direktivy však vyhodnocují, #If...Then...#Else co kompilátor kompiluje, zatímco If...Then...Else příkazy vyhodnocují podmínky za běhu.

Podmíněná kompilace se obvykle používá ke kompilaci stejného programu pro různé platformy. Slouží také k zabránění zobrazení kódu ladění ve spustitelném souboru. Kód vyloučený během podmíněné kompilace je zcela vynechán z konečného spustitelného souboru, takže nemá žádný vliv na velikost nebo výkon.

Bez ohledu na výsledek jakéhokoli vyhodnocení se všechny výrazy vyhodnocují pomocí Option Compare Binary. Příkaz Option Compare nemá vliv na výrazy v #If a #ElseIf příkazech.

Poznámka:

Neexistuje jednořádková forma #If, #Else#ElseIf, a #End If direktivy. Na stejném řádku jako žádná direktiva se nemůže objevit žádný jiný kód.

Příkazy v rámci bloku podmíněné kompilace musí být úplné logické příkazy. Nemůžete například podmíněně kompilovat pouze atributy funkce, ale můžete podmíněně deklarovat funkci spolu s jeho atributy:

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

Příklad

Tento příklad používá #If...Then...#Else konstruktor k určení, zda se mají kompilovat určité příkazy.

#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

Viz také