Условная компиляция в Visual Basic
При условной компиляции определенные блоки кода в программе компилируются выборочно, а другие игнорируются.
Например, может потребоваться написать инструкции отладки, которые сравнивают скорость различных подходов к одной задаче программирования или может потребоваться локализовать приложение для нескольких языков. Операторы условной компиляции предназначены для выполнения во время компиляции, а не во время выполнения.
Блоки кода должны быть условно скомпилированы с помощью директивы #If...Then...#Else
. Например, чтобы создать версии одного и того же приложения на французском и немецком языках из одного исходного кода, вы внедряете сегменты кода для конкретной платформы в #If...Then
инструкции FrenchVersion
с помощью предопределенных констант и GermanVersion
. В следующем примере показано, как:
#If FrenchVersion Then
' <code specific to the French language version>.
#ElseIf GermanVersion Then
' <code specific to the German language version>.
#Else
' <code specific to other versions>.
#End If
Если задать значение константы True
условной FrenchVersion
компиляции во время компиляции, то компилируется условный код для французской версии. Если задать значение константы GermanVersion
True
, компилятор использует немецкую версию. Если ни для этого не задано True
, код в последнем Else
блоке выполняется.
Примечание.
Автоматическая компиляция не будет функционировать при редактировании кода и использовании директив условной компиляции, если код не является частью текущей ветви.
Объявление констант условной компиляции
Константы условной компиляции можно задать одним из трех способов:
В конструкторе проектов
В командной строке при использовании компилятора командной строки
В вашем коде
Константы условной компиляции имеют специальный область и не могут быть доступны из стандартного кода. Область константы условной компиляции зависит от способа его установки. В следующей таблице перечислены область констант, объявленных с помощью каждого из трех способов упоминание выше.
Установка константы | Область константы |
---|---|
Конструктор проектов | Общедоступные для всех файлов в проекте |
Командная строка | Общедоступный для всех файлов, переданных компилятору командной строки |
#Const оператор в коде |
Закрытый к файлу, в котором он объявлен |
Установка констант в конструкторе проектов |
---|
— Перед созданием исполняемого файла задайте константы в конструкторе проектов, выполнив действия, описанные в разделе "Управление свойствами проекта и решения". |
Установка констант в командной строке |
---|
— Используйте параметр -d для ввода констант условной компиляции, как показано в следующем примере:vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0 Между переключателем -d и первой константой не требуется пробела. Дополнительные сведения см. в разделе -define (Visual Basic). Объявления командной строки переопределяют объявления, введенные в конструкторе проектов, но не удаляют их. Аргументы, заданные в конструкторе проектов, остаются в силе для последующих компиляций. При написании констант в самом коде нет строгих правил по их размещению, так как их область является всем модулем, в котором они объявлены. |
Установка констант в коде |
---|
— поместите константы в блок объявления модуля, в котором они используются. Это помогает упорядочить код и упростить чтение. |
См. также
Заголовок | Description |
---|---|
Соглашения о структуре программы и коде | Предоставляет предложения для упрощения чтения и обслуживания кода. |