列挙型と名前修飾 (Visual Basic)

通常、列挙型のメンバーを参照する場合は、列挙型名でメンバー名を修飾する必要があります。 たとえば、Days 列挙型の Sunday メンバーを参照するには次の構文を使用します。

X = Days.Sunday

Imports ステートメントを使用する

次の例に示すように、Imports ステートメントを名前空間の宣言セクションに追加すれば、完全修飾名を使わずに済みます。

Imports WindowsApplication1.Form1.Days
Imports WindowsApplication1.Form1.WorkDays

Imports ステートメントは、参照先のプロジェクトとアセンブリの名前空間名、およびこのステートメントが出現するモジュールと同じプロジェクトに含まれる名前空間名をインポートします。 このステートメントを追加すると、次の例に示すように、修飾を行うことなく列挙型メンバーを参照できるようになります。

X = Sunday

関連する定数一式を列挙型にまとめることで、異なるコンテキストで同じ定数名を使用できます。 たとえば、Days 列挙型と WorkDays 列挙型の平日を表す定数に同じ名前を使用可能です。 列挙型と共に Imports ステートメントを使用する場合は、あいまいな参照を行わないように注意してください。 次に例を示します。

Imports WindowsApplication1.Form1.Days
Imports WindowsApplication1.Form1.WorkDays
Public Sub New()
    ' Insert code to implement constructor.
    X = Monday
End Sub

MondayDays 列挙型と Workdays 列挙型の両方のメンバーである場合、このコードではコンパイラ エラーが発生します。 あいまいな参照を使うことなく各定数を参照するには、定数名をその列挙型で修飾します。 次のコードでは、Days 列挙型と WorkDays 列挙型の Saturday 定数を参照しています。

X = Days.Saturday
Y = WorkDays.Saturday

関連項目