列挙型と名前の修飾

更新 : 2007 年 11 月

通常、列挙型のメンバを参照する場合は、その列挙型の名前で修飾する必要があります。たとえば、列挙型 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

Monday が Days と Workdays の両方の列挙型のメンバになっている場合、このコードはコンパイラ エラーになります。定数を個別に参照するときにあいまいな参照を回避するには、定数名を列挙型で修飾します。次のコードは、列挙型 Days と列挙型 WorkDays の定数 Saturday を参照します。

X = Days.Saturday
Y = WorkDays.Saturday

参照

処理手順

方法 : 列挙型を宣言する

方法 : 列挙型のメンバを参照する

方法 : Visual Basic で列挙型を反復処理する

方法 : 列挙値に関連付けられている文字列を確認する

概念

Visual Basic で宣言されている列挙型

列挙型を使用する状況

定数とリテラルのデータ型

参照

Enum ステートメント (Visual Basic)

Imports ステートメント (.NET 名前空間および型)

データ型の概要 (Visual Basic)