列挙型と名前の修飾
更新 : 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