Compartir a través de


#If... Directivas Then...#Else

Compila condicionalmente los bloques seleccionados del código de Visual Basic.

Sintaxis

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

Partes

expression
Obligatorio para #If las instrucciones y #ElseIf , opcional en otro lugar. Cualquier expresión, que consta exclusivamente de una o varias constantes del compilador condicional, literales y operadores, que se evalúan como True o False.

statements
Obligatorio para el #If bloque de instrucciones, opcional en otro lugar. Líneas de programa o directivas del compilador de Visual Basic que se compilan si la expresión asociada se evalúa como True.

#End If
Finaliza el bloque de #If instrucciones.

Observaciones

En la superficie, el comportamiento de las #If...Then...#Else directivas aparece igual que el de las If...Then...Else instrucciones . Sin embargo, las #If...Then...#Else directivas evalúan lo que compila el compilador, mientras que las If...Then...Else instrucciones evalúan las condiciones en tiempo de ejecución.

La compilación condicional se usa normalmente para compilar el mismo programa para distintas plataformas. También se usa para evitar que el código de depuración aparezca en un archivo ejecutable. El código excluido durante la compilación condicional se omite completamente del archivo ejecutable final, por lo que no tiene ningún efecto en el tamaño o el rendimiento.

Independientemente del resultado de cualquier evaluación, todas las expresiones se evalúan mediante Option Compare Binary. La Option Compare instrucción no afecta a las expresiones en #If las instrucciones y #ElseIf .

Nota:

No existe ninguna forma de línea única de las #Ifdirectivas , #Else, #ElseIfy #End If . Ningún otro código puede aparecer en la misma línea que ninguna de las directivas .

Las instrucciones dentro de un bloque de compilación condicional deben ser instrucciones lógicas completas. Por ejemplo, no puede compilar condicionalmente solo los atributos de una función, pero puede declarar condicionalmente la función junto con sus atributos:

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

Ejemplo

En este ejemplo se usa la #If...Then...#Else construcción para determinar si se van a compilar determinadas instrucciones.

#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

Consulte también