Visual Basic 中的条件编译
在“条件编译”中,有选择地编译程序中的特定代码块而忽略其他代码块。
例如,可能需要编写调试语句来比较同一编程任务的不同方法的速度,或者可能需要本地化用于多种语言的应用程序。条件编译语句被设计为在编译时(而不是在运行时)运行。
那些要满足一定条件才编译的代码块使用 #If...Then...#Else 指令来表示。例如,若要从相同的源代码创建同一应用程序的法语和德语版本,使用预定义常数 FrenchVersion 和 GermanVersion 将特定于平台的代码段嵌入 #If...Then 语句。下面的示例说明嵌入的方法:
#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
如果在编译时将 FrenchVersion 条件编译常量的值设置为 True,则将编译法语版本的条件代码。如果将 GermanVersion 常数的值设置为 True,则编译器将使用德语版本。如果二者均未设置为 True,则运行最后的 Else 块中的代码。
说明 |
---|
如果代码不是当前分支的一部分,编辑代码和使用条件编译指令时,自动完成功能将不起作用。 |
声明条件编译常量
可用如下三种方式之一设置条件编译常数:
在**“项目设计器”**中
使用命令行编译器时在命令行上
在代码中
条件编译常数具有特殊的范围并且不能从标准代码访问。条件编译常数的范围取决于它的设置方式。下表列出了分别使用上述三种方式声明的常数范围。
常数的设置方式 |
常数范围 |
项目设计器 |
对于项目中的所有文件是公共的 |
命令行 |
对于传递到命令行编译器的所有文件是公共的 |
代码中的 #Const 语句 |
对于声明它的文件是私有的 |
在“项目设计器”中设置常数 |
|
在命令行上设置常数 |
|
在代码中设置常数 |
|
相关主题
标题 |
说明 |
提供使代码易于阅读和维护的建议。 |