型名を名前空間修飾なしで参照できるようにします。
構文
Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element
部品
任期 | 定義 |
---|---|
aliasname |
任意。 完全な修飾文字列ではなく、コードがnamespace を参照できるインポートエイリアスまたは名前。
「宣言された要素名」を参照してください。 |
namespace |
必須。 インポートする名前空間の完全修飾名。 任意のレベルに入れ子になった名前空間の文字列を指定できます。 |
element |
任意。 名前空間で宣言されたプログラミング要素の名前。 任意のコンテナー要素を指定できます。 |
注釈
Imports
ステートメントを使用すると、特定の名前空間に含まれる型を直接参照できます。
単一の名前空間名または入れ子になった名前空間の文字列を指定できます。 次の例に示すように、入れ子になった各名前空間は、ピリオド (.
) によって次の上位レベルの名前空間から分離されます。
Imports System.Collections.Generic
各ソース ファイルには、任意の数の Imports
ステートメントを含めることができます。 これらは、 Option Strict
ステートメントなどの任意のオプション宣言に従う必要があり、 Module
や Class
ステートメントなどのプログラミング要素宣言の前に置く必要があります。
Imports
は、ファイル レベルでのみ使用できます。 つまり、インポートの宣言コンテキストはソース ファイルである必要があり、名前空間、クラス、構造体、モジュール、インターフェイス、プロシージャ、またはブロックにすることはできません。
Imports
ステートメントでは、他のプロジェクトやアセンブリの要素をプロジェクトで使用することはできません。 インポートでは、参照を設定する代わりには使用されません。 これにより、プロジェクトで既に使用できる名前を修飾する必要がなくなります。 詳細については、「 宣言された要素への参照」の「含まれる要素のインポート」を参照してください。
注
暗黙的な Imports
ステートメントは、[ 参照] ページのプロジェクト デザイナー (Visual Basic) を使用して定義できます。 詳細については、「 方法: インポートされた名前空間を追加または削除する (Visual Basic)」を参照してください。
エイリアスのインポート
インポート エイリアスは、名前空間または型のエイリアスを定義します。 インポート エイリアスは、1 つ以上の名前空間で宣言されている同じ名前の項目を使用する必要がある場合に便利です。 詳細と例については、「 宣言された要素への参照」の「要素名の修飾」を参照してください。
aliasname
と同じ名前のメンバーをモジュール レベルで宣言しないでください。 その場合、Visual Basic コンパイラは宣言されたメンバーに対してのみ aliasname
を使用し、インポート エイリアスとして認識されなくなります。
インポート エイリアスの宣言に使用される構文は、XML 名前空間プレフィックスのインポートに使用される構文と似ていますが、結果は異なります。 インポート エイリアスはコード内で式として使用できますが、XML 名前空間プレフィックスは、修飾された要素または属性名のプレフィックスとして XML リテラルまたは XML 軸プロパティでのみ使用できます。
要素名
element
を指定する場合は、コンテナー要素、つまり他の要素を含めることができるプログラミング要素を表す必要があります。 コンテナー要素には、クラス、構造体、モジュール、インターフェイス、および列挙型が含まれます。
Imports
ステートメントで使用できる要素のスコープは、element
を指定するかどうかによって異なります。
namespace
のみを指定した場合、その名前空間のすべての一意の名前付きメンバーと、その名前空間内のコンテナー要素のメンバーを修飾なしで使用できます。
namespace
とelement
の両方を指定すると、その要素のメンバーのみが修飾なしで使用できます。
例 1
次の例では、DirectoryInfo クラスを使用して、C:\ ディレクトリ内のすべてのフォルダーを返します。
このコードには、ファイルの先頭に Imports
ステートメントがありません。 したがって、 DirectoryInfo、 StringBuilder、および CrLf 参照はすべて名前空間で完全修飾されます。
Public Function GetFolders() As String
' Create a new StringBuilder, which is used
' to efficiently build strings.
Dim sb As New System.Text.StringBuilder
Dim dInfo As New System.IO.DirectoryInfo("c:\")
' Obtain an array of directories, and iterate through
' the array.
For Each dir As System.IO.DirectoryInfo In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(Microsoft.VisualBasic.ControlChars.CrLf)
Next
Return sb.ToString
End Function
例 2
次の例には、参照先の名前空間の Imports
ステートメントが含まれています。 そのため、型を名前空間で完全修飾する必要はありません。
' Place Imports statements at the top of your program.
Imports System.Text
Imports System.IO
Imports Microsoft.VisualBasic.ControlChars
Public Function GetFolders() As String
Dim sb As New StringBuilder
Dim dInfo As New DirectoryInfo("c:\")
For Each dir As DirectoryInfo In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(CrLf)
Next
Return sb.ToString
End Function
例 3
次の例には、参照先の名前空間のエイリアスを作成する Imports
ステートメントが含まれています。 型はエイリアスで修飾されます。
Imports systxt = System.Text
Imports sysio = System.IO
Imports ch = Microsoft.VisualBasic.ControlChars
Public Function GetFolders() As String
Dim sb As New systxt.StringBuilder
Dim dInfo As New sysio.DirectoryInfo("c:\")
For Each dir As sysio.DirectoryInfo In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(ch.CrLf)
Next
Return sb.ToString
End Function
例 4
次の例には、参照される型のエイリアスを作成する Imports
ステートメントが含まれています。 エイリアスは、型を指定するために使用されます。
Imports strbld = System.Text.StringBuilder
Imports dirinf = System.IO.DirectoryInfo
Public Function GetFolders() As String
Dim sb As New strbld
Dim dInfo As New dirinf("c:\")
For Each dir As dirinf In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(ControlChars.CrLf)
Next
Return sb.ToString
End Function
こちらも参照ください
.NET