Partilhar via


#If... Depois...#Else Diretivas

Condicionalmente compila blocos selecionados de código do Visual Basic.

Sintaxe

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

Partes

expression
Obrigatório para #If e #ElseIf declarações, opcional em outro lugar. Qualquer expressão, consistindo exclusivamente de uma ou mais constantes condicionais do compilador, literais e operadores, que avalia a True ou False.

statements
Obrigatório para #If o bloco de instruções, opcional em outro lugar. Linhas de programa do Visual Basic ou diretivas de compilador que são compiladas se a expressão associada for avaliada como True.

#End If
Encerra o #If bloco de instrução.

Observações

À primeira vista, o #If...Then...#Else comportamento das diretivas parece o mesmo que o If...Then...Else das declarações. No entanto, as diretivas avaliam #If...Then...#Else o que é compilado pelo compilador, enquanto as instruções avaliam as If...Then...Else condições em tempo de execução.

A compilação condicional é normalmente usada para compilar o mesmo programa para diferentes plataformas. Ele também é usado para impedir que o código de depuração apareça em um arquivo executável. O código excluído durante a compilação condicional é completamente omitido do arquivo executável final, portanto, não tem efeito sobre o tamanho ou o desempenho.

Independentemente do resultado de qualquer avaliação, todas as expressões são avaliadas usando Option Compare Binary. A Option Compare instrução não afeta expressões em #If e #ElseIf declarações.

Nota

Não existe uma forma única de , #If#Else, #ElseIf, e #End If diretivas. Nenhum outro código pode figurar na mesma linha que qualquer uma das diretivas.

As instruções dentro de um bloco de compilação condicional devem ser instruções lógicas completas. Por exemplo, você não pode compilar condicionalmente apenas os atributos de uma função, mas pode declarar condicionalmente a função junto com seus atributos:

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

Exemplo

Este exemplo usa a #If...Then...#Else construção para determinar se determinadas instruções devem ser compiladas.

#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 também