Partager via


#If... Ensuite...#Else Directives

Compile de façon conditionnelle les blocs sélectionnés de code Visual Basic.

Syntaxe

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

Pièces

expression
Obligatoire pour et pour #If les #ElseIf instructions, facultatif ailleurs. Toute expression, composée exclusivement d’une ou plusieurs constantes du compilateur conditionnel, littéraux et opérateurs, qui prend True ou False.

statements
Obligatoire pour #If le bloc d’instructions, facultatif ailleurs. Lignes de programme visual Basic ou directives du compilateur compilées si l’expression associée prend Truela valeur .

#End If
Termine le bloc d’instructions #If .

Remarques

Sur la surface, le comportement des #If...Then...#Else directives apparaît comme celui des If...Then...Else instructions. Toutefois, les #If...Then...#Else directives évaluent ce qui est compilé par le compilateur, tandis que les instructions évaluent les conditions au moment de l’exécution If...Then...Else .

La compilation conditionnelle est généralement utilisée pour compiler le même programme pour différentes plateformes. Il est également utilisé pour empêcher le débogage du code d’apparaître dans un fichier exécutable. Le code exclu lors de la compilation conditionnelle est complètement omis du fichier exécutable final, de sorte qu’il n’a aucun effet sur la taille ou les performances.

Quel que soit le résultat d’une évaluation, toutes les expressions sont évaluées à l’aide Option Compare Binaryde . L’instruction Option Compare n’affecte pas les expressions dans et #ElseIf les #If instructions.

Remarque

Il n’existe aucune forme de ligne unique des #If#Else#ElseIf#End If directives et des directives. Aucun autre code ne peut apparaître sur la même ligne que l’une des directives.

Les instructions d’un bloc de compilation conditionnel doivent être des instructions logiques complètes. Par exemple, vous ne pouvez pas compiler conditionnellement uniquement les attributs d’une fonction, mais vous pouvez déclarer conditionnellement la fonction avec ses attributs :

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

Exemple :

Cet exemple utilise la #If...Then...#Else construction pour déterminer s’il faut compiler certaines instructions.

#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

Voir aussi