コンパイル前に前処理を行うこと。この機能で条件付きコンパイルが可能となる。
例えば、条件付きコンパイルでデバッグ時とリリース時の実装を分岐させることができる。
これによって、デバッグ時のみログを出力するなどの実装が可能。
また、コンパイルオプションで独自の条件を設定することも可能。
DebugかPeleaseかによって実装内容を分岐
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click #If DEBUG Then 'Debugでビルドした場合に実行されるコード MsgBox("Debug") #Else 'Releaseでビルドした場合に実行されるコード MsgBox("Release") #End If End Sub End Class
コンパイルオプションによって実装内容を分岐
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'コンパイルオプションの内容によって分岐 #If SWITCH_HOGE Then MsgBox("SWITCH_HOGE ON") #Else MsgBox("SWITCH_HOGE OFF") #End If End Sub End Class
コンパイルオプションは「プロジェクト」→「プロパティ」→「コンパイル」→「詳細コンパイルオプション」の
カスタム変数に値を設定することができる。(Visual Stadio2005の場合)
上記のコードの場合、このカスタム変数に「SWITCH_HOGE=true」とすると"SWITCH_HOGE ON"、
「SWITCH_HOGE=false」では"SWITCH_HOGE OFF"と出力される。
動作確認環境:Visual Stadio 2005