Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Условно компилирует выбранные блоки кода Visual Basic.
Синтаксис
#If expression Then
statements
[ #ElseIf expression Then
[ statements ]
...
#ElseIf expression Then
[ statements ] ]
[ #Else
[ statements ] ]
#End If
Комплектующие
expression
Требуется для #If инструкций и #ElseIf инструкций, необязательных в других местах. Любое выражение, состоящее исключительно из одной или нескольких констант условного компилятора, литералов и операторов, которая оценивает True или False.
statements
Требуется для #If блока инструкций, необязательного в другом месте. Строки программы Visual Basic или директивы компилятора, скомпилированные, если связанное выражение оценивается True.
#End If
Завершает блок инструкций #If .
Замечания
На поверхности поведение #If...Then...#Else директив появляется так же, как If...Then...Else и в инструкциях. Однако директивы оценивают то, #If...Then...#Else что компилируется компилятором, а If...Then...Else операторы оценивают условия во время выполнения.
Условная компиляция обычно используется для компиляции одной программы для разных платформ. Он также используется для предотвращения отображения кода отладки в исполняемом файле. Код, исключенный во время условной компиляции, полностью опущен из окончательного исполняемого файла, поэтому он не влияет на размер или производительность.
Независимо от результата любой оценки, все выражения оцениваются с помощью Option Compare Binary. Оператор Option Compare не влияет на выражения и #If#ElseIf операторы.
Замечание
Ни одна строка формы #If, #Else#ElseIfи #End If директивы не существуют. Ни один другой код не может отображаться в той же строке, что и любая из директив.
Инструкции в блоке условной компиляции должны быть завершены логическими операторами. Например, нельзя условно скомпилировать только атрибуты функции, но можно условно объявить функцию вместе с его атрибутами:
#If DEBUG Then
<WebMethod()>
Public Function SomeFunction() As String
#Else
<WebMethod(CacheDuration:=86400)>
Public Function SomeFunction() As String
#End If
Пример
В этом примере используется #If...Then...#Else конструкция, чтобы определить, следует ли компилировать определенные инструкции.
#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