Visual Basic プログラムの構造
更新 : 2007 年 11 月
Visual Basic プログラムは、標準ビルド ブロックから構築されます。ソリューションは、1 つ以上のプロジェクトで構成されます。プロジェクトは、1 つ以上のアセンブリで構成されます。各アセンブリは、1 つ以上のソース ファイルからコンパイルされます。ソース ファイルは、クラス、構造体、モジュール、およびインターフェイスの定義と実装を提供します。すべてのコードがここに含まれます。
Visual Basic プログラムのこれらのビルド ブロックの詳細については、「ソリューション、プロジェクト、および項目の概要」および「アセンブリ」を参照してください。
ファイル レベルのプログラミング要素
プロジェクトまたはファイルを開始してコード エディタを開くと、一部のコードが既に適切な順序で配置されて表示されます。作成するコードはすべて以下の順序に従う必要があります。
Option ステートメント
Imports ステートメント
Namespace ステートメントおよび名前空間レベルの要素
ステートメントをこれとは別の順序で入力すると、コンパイル エラーが発生することがあります。
プログラムには、条件付きコンパイル ステートメントを指定することもできます。このようなステートメントは、ソース ファイル内で上記の順序で記述するステートメントの中に混在できます。
Option ステートメント
Option ステートメントは後続のコードの基本的な規則を確立し、構文エラーや論理エラーの発生を防ぎます。Option Explicit ステートメント (Visual Basic) は、すべての変数が正しく宣言され、スペルに誤りがないことを保証するので、デバッグ時間が短縮されます。Option Strict ステートメント ステートメントは、異なる型の変数を使用するときに起こり得るデータの損失や論理エラーを減らすために役立ちます。Option Compare ステートメント には、Binary 値または Text 値に基づいて文字列を比較する方法を指定します。
Imports ステートメント
プロジェクトの外部で定義された名前をインポートするために、Imports ステートメント (.NET 名前空間および型) を指定できます。Imports ステートメントを使うと、インポートした名前空間に定義されているクラスおよびその他の型を修飾なしで参照できます。Imports ステートメントは必要に応じていくつでも使用できます。詳細については、「参照と Imports ステートメント」を参照してください。
Namespace ステートメント
名前空間は、プログラミング要素を整理および分類してグループ分けやアクセスをしやすくするために役立ちます。Namespace ステートメント を使って、以下に示すステートメントを特定の名前空間に分類できます。詳細については、「Visual Basic における名前空間」を参照してください。
条件付きコンパイル ステートメント
条件付きコンパイル ステートメントは、ソース ファイル内のほとんどの場所で使用できます。特定の条件に基づいて、コードの一部をコンパイル時に含めることや除外することができます。条件付きコードはデバッグ モードだけで実行されるため、条件付きコンパイル ステートメントはアプリケーションのデバッグにも使用できます。詳細については、「条件付きコンパイルの概要」を参照してください。
名前空間レベルのプログラミング要素
クラス、構造体、およびモジュールのすべてのコードはソース ファイルに含まれます。これらは名前空間レベルの要素であり、名前空間またはソース ファイルのレベルで指定できます。これらの要素には、他のすべてのプログラミング要素の宣言が格納されます。要素のシグネチャを定義するだけで実装を提供しないインターフェイスも、モジュール レベルで指定します。モジュール レベルの各要素の詳細については、次のトピックを参照してください。
名前空間レベルのデータ要素は、列挙およびデリゲートです。
モジュール レベルのプログラミング要素
プロシージャ、演算子、プロパティ、およびイベントだけが、実行可能コード (実行時にアクションを実行するステートメント) を含むことができるプログラミング要素です。これらは、プログラムのモジュール レベルの要素です。プロシージャ レベルの各要素の詳細については、次のトピックを参照してください。
モジュール レベルのデータ要素は、変数、定数、列挙、およびデリゲートです。
プロシージャ レベルのプログラミング要素
ほとんどのプロシージャ レベル要素の内容は、実行可能なステートメントであり、プログラム コードの一部を構成します。すべての実行可能コードは、プロシージャ (Function、Sub、Operator、Get、Set、AddHandler、RemoveHandler、RaiseEvent) に含める必要があります。詳細については、「実行可能なステートメント」を参照してください。
プロシージャ レベルのデータ要素は、ローカル変数とローカル定数だけです。
Main プロシージャ
Main プロシージャは、アプリケーションが読み込まれた後で最初に実行されるコードです。Main は、アプリケーションの開始地点であり、アプリケーション全体を制御する場所です。Main には次の 4 種類があります。
Sub Main()
Sub Main(ByVal cmdArgs() As String)
Function Main() As Integer
Function Main(ByVal cmdArgs() As String) As Integer
最も一般的に使用されるプロシージャは、Sub Main() です。詳細については、「Visual Basic の Main プロシージャ」を参照してください。