VB.Net - 指令

VB.Net编译器指令给编译器指令,以便在实际编译开始之前预处理信息。

所有这些指令以#开头,并且在一行上的指令之前只能出现空格字符。 这些指令不是语句。

VB.Net编译器没有单独的预处理器; 然而,指令被处理,就像有一个。 在VB.Net中,编译器指令用于帮助条件编译。 与C和C ++指令不同,它们不用于创建宏。

在 VB.Net 中的编译器指令

VB.Net提供了以下一组编译器指令:

  • The #Const 指令

The#Const指令

该指令定义条件编译常量。语法这个指令是:

#Const constname = expression

  • constname:指定常量的名称。必要。

例如,

#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