Visual Basic での条件付きコンパイル
条件付きコンパイルでは、プログラムの特定のコード ブロックだけを選択してコンパイルできます。プログラムの他の部分は無視されます。
たとえば、同じプログラミング タスクに対する異なるアプローチについて速度を比較するデバッグ ステートメントを記述する場合や、アプリケーションを混合言語にローカライズする場合などがあります。条件付きコンパイル ステートメントは、実行時ではなくコンパイル時に実行されます。
条件に基づいてコンパイルするコードのブロックを指定するには #If...Then...#Else ディレクティブを使用します。たとえば、同じソース コードからフランス語バージョンおよびドイツ語バージョンのアプリケーションを作成するには、定義済みの定数 FrenchVersion および GermanVersion を使用して、プラットフォーム固有のコードを #If...Then ステートメントの中に記述します。この方法を次の例で示します。
#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 ブロックのコードが実行されます。
[!メモ]
コードが現在の分岐の一部ではない場合、コードの編集時、および条件付きコンパイル ディレクティブの使用時に、オートコンプリートは機能しません。
条件付きコンパイル定数の宣言
条件付きコンパイル定数は、次の 3 つのいずれかで設定できます。
プロジェクト デザイナー
コマンド ライン (コマンド ライン コンパイラを使用する場合)
コード内
条件付きコンパイル定数は特殊なスコープを持つため、標準のコードからアクセスすることはできません。条件付きコンパイル定数のスコープは、定数の設定方法によって異なります。次の表は、上記の 3 つの方法を使って宣言した定数のスコープを示しています。
定数の設定方法 |
定数のスコープ |
プロジェクト デザイナー |
プロジェクト内のすべてのファイルに対してパブリック |
コマンド ライン |
コマンド ライン コンパイラに渡されたすべてのファイルに対してパブリック |
コード内の #Const ステートメント |
宣言されたファイル内でプライベート |
プロジェクト デザイナーで定数を設定するには |
|
コマンド ラインで定数を設定するには |
|
コード内で定数を設定するには |
|
関連トピック
Title |
Description |
読みやすく管理しやすいコードを作成するためのヒントを紹介します。 |