VB.Net - 指令
VB.Net编译器指令用于在编译前预处理信息。
这些指令以#开头,并且一行上只能有空格在指令前。它们不是语句。
VB.Net编译器没有预处理器,但是指令会被处理,就像有预编译器一样。
在VB.Net中,编译器指令主要用于条件编译。它们与C和C ++指令不同,不能用于创建宏。
在 VB.Net 中的编译器指令
VB.Net提供了以下一组编译器指令:
-
#Const 指令
-
#ExternalSource 指令
-
#If...Then...#Else 指令
-
#Region 指令
The#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
The#ExternalSource指令
此指令用
来指示特定行
的源代码和源的外部文本之间的映射。它
使用仅由编译器和调试器并不影响代码编译。
此指令允许
包括从外部代码文件外部的代码到一个源代码文件。
此指令的语法是︰
#ExternalSource( StringLiteral , IntLiteral )
[ LogicalLine ]
#End ExternalSource
#ExternalSource伪指令的参数是外部文件的路径,第一行的行号和发生错误的行。
示例
以下代码演示了伪指令的使用:
Module mydirectives
Public Class ExternalSourceTester
Sub TestExternalSource()
#ExternalSource("c:vbprogsdirectives.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
当上述代码被编译和执行时,它产生了以下结果:
This is External Code. In Main.
The #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
The #Region指令
此伪指令有助于在Visual Basic文件中折叠和隐藏代码段。
此伪指令的语法是:
#Region "identifier_string" #End Region
例如,
#Region "StatsFunctions"
' Insert code for the Statistical functions here.
#End Region