VB.Net編譯器指令用于在編譯前預(yù)處理信息。
這些指令以#開頭,并且一行上只能有空格在指令前。它們不是語句。
VB.Net編譯器沒有預(yù)處理器,但是指令會(huì)被處理,就像有預(yù)編譯器一樣。
在VB.Net中,編譯器指令主要用于條件編譯。它們與C和C ++指令不同,不能用于創(chuàng)建宏。
VB.Net提供了以下一組編譯器指令:
#Const 指令
#ExternalSource 指令
#If...Then...#Else 指令
#Region 指令
該指令定義條件編譯常量。語法這個(gè)指令是:
#Const constname = expression
constname:指定常量的名稱。必要。
expression :它是文字或其他條件編譯器常量,或包含任何或所有算術(shù)或邏輯運(yùn)算符(除了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
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
You are welcome to the Robotics Club
#ExternalSource( StringLiteral , IntLiteral ) [ LogicalLine ] #End ExternalSource
#ExternalSource偽指令的參數(shù)是外部文件的路徑,第一行的行號(hào)和發(fā)生錯(cuò)誤的行。
示例
以下代碼演示了偽指令的使用:
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
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
This is External Code. In Main.
此偽指令有條件地編譯所選的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
示例
下面的代碼演示一個(gè)假設(shè)使用的指令:
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
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
Exam Questions for Class VIII
此偽指令有助于在Visual Basic文件中折疊和隱藏代碼段。
此偽指令的語法是:
#Region "identifier_string" #End Region
例如,
#Region "StatsFunctions" ' Insert code for the Statistical functions here. #End Region
更多建議: