プリプロセッサ


コンパイル前に前処理を行うこと。この機能で条件付きコンパイルが可能となる。


例えば、条件付きコンパイルデバッグ時とリリース時の実装を分岐させることができる。
これによって、デバッグ時のみログを出力するなどの実装が可能。


また、コンパイルオプションで独自の条件を設定することも可能。



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