Visual Basic 中的條件式編譯
在「條件式編譯」(Conditional Compilation) 中,會選擇性地編譯程式中的特定程式碼區塊,而忽略其他的程式碼區塊。
例如,您可能想要撰寫以不同方法執行相同程式工作間速度比較的偵錯陳述式,或想將應用程式當地語系化成不同的語言。條件式編譯陳述式 (Statement) 是設計於編譯時間執行,而不是在執行階段執行。
您可以用 #If...Then...#Else 指示詞來表示要有條件地編譯的程式碼區塊。例如,若要從相同的原始程式碼建立同一個應用程式的法文和德文版本,您可以使用預先定義的常數 FrenchVersion 和 GermanVersion,在 #If...Then 陳述式 (Statement) 中嵌入特定平台的程式碼區段。如下列範例所示:
#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 陳述式 |
只對它在其中宣告的檔案公開 |
若要在專案設計工具中設定常數 |
|
若要在命令列中設定常數 |
|
若要在程式碼中設定常數 |
|
相關主題
標題 |
描述 |
提供讓您的程式碼易於讀取及維護的建議。 |