VB.Net中的编译器指令
VB.Net提供了以下编译器指令集-
- #Const 指令
- #ExternalSource 指令
- #If ... Then ...#Else 指令
- #Region 指令
#Const 指令
该指令定义条件编译器常量。该指令的语法是-
#Const constname = expression
说明,
- constname - 指定常量的名称。必需的。
- expression - 它可以是文字或其他条件编译器常量,或者是包括Is之外的任何或所有算术或逻辑运算符的组合。
例如,
#Const state = "WEST BENGAL"
以下代码演示了伪指令的假设用法-
Module mydirectives
#Const age = True
Sub Main()
#If age Then
Console.WriteLine("You are welcome to the Robotics Club")
#End If
Console.ReadKey()
End Sub
End Module
尝试一下
编译并执行上述代码后,将产生以下结果-
You are welcome to the Robotics Club
#ExternalSource 指令
该伪指令用于指示源代码的特定行与源代码外部的文本之间的映射。它仅由编译器使用,调试器对代码编译没有影响。
此伪指令允许将外部代码从外部代码文件包含到源代码文件中。
该指令的语法是-
#ExternalSource( StringLiteral , IntLiteral )
[ LogicalLine ]
#End ExternalSource
说明,
#ExternalSource 指令的参数是外部文件的路径,第一行的行号以及发生错误的行。
以下代码演示了伪指令的假设用法-
Module mydirectives
Public Class ExternalSourceTester
Sub TestExternalSource()
#ExternalSource("c:\vbprogs\directives.vb", 5)
Console.WriteLine("This is External Code. ")
#End ExternalSource
End Sub
End Class
Sub Main()
Dim t As New ExternalSourceTester()
t.TestExternalSource()
Console.WriteLine("In Main.")
Console.ReadKey()
End Sub
END Module
编译并执行上述代码后,将产生以下结果-
This is External Code.
In Main.
#If ... Then ...#Else 指令
该指令有条件地编译Visual Basic代码的选定块。
该指令的语法是-
#If expression Then
statements
[ #ElseIf expression Then
[ statements ]
...
#ElseIf expression Then
[ statements ] ]
[ #Else
[ statements ] ]
#End If
例如,
#Const TargetOS = "Linux"
#If TargetOS = "Windows 7" Then
' Windows 7 specific code
#ElseIf TargetOS = "WinXP" Then
' Windows XP specific code
#Else
' Code for other OS
#End if
以下代码演示了伪指令的假设用法-
Module mydirectives
#Const classCode = 8
Sub Main()
#If classCode = 7 Then
Console.WriteLine("Exam Questions for Class VII")
#ElseIf classCode = 8 Then
Console.WriteLine("Exam Questions for Class VIII")
#Else
Console.WriteLine("Exam Questions for Higher Classes")
#End If
Console.ReadKey()
End Sub
End Module
尝试一下
编译并执行上述代码后,将产生以下结果-
Exam Questions for Class VIII
#Region 指令
此伪指令有助于折叠和隐藏Visual Basic文件中的代码部分。
该指令的语法是-
#Region "identifier_string"
#End Region
例如,
#Region "StatsFunctions"
' Insert code for the Statistical functions here.
#End Region