次の方法で共有


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

型名を名前空間修飾なしで参照できるようにします。

構文

Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element

部品

任期 定義
aliasname 任意。 完全な修飾文字列ではなく、コードがnamespaceを参照できるインポートエイリアスまたは名前。 「宣言された要素名」を参照してください。
namespace 必須。 インポートする名前空間の完全修飾名。 任意のレベルに入れ子になった名前空間の文字列を指定できます。
element 任意。 名前空間で宣言されたプログラミング要素の名前。 任意のコンテナー要素を指定できます。

注釈

Imports ステートメントを使用すると、特定の名前空間に含まれる型を直接参照できます。

単一の名前空間名または入れ子になった名前空間の文字列を指定できます。 次の例に示すように、入れ子になった各名前空間は、ピリオド (.) によって次の上位レベルの名前空間から分離されます。

Imports System.Collections.Generic

各ソース ファイルには、任意の数の Imports ステートメントを含めることができます。 これらは、 Option Strict ステートメントなどの任意のオプション宣言に従う必要があり、 ModuleClass ステートメントなどのプログラミング要素宣言の前に置く必要があります。

Importsは、ファイル レベルでのみ使用できます。 つまり、インポートの宣言コンテキストはソース ファイルである必要があり、名前空間、クラス、構造体、モジュール、インターフェイス、プロシージャ、またはブロックにすることはできません。

Imports ステートメントでは、他のプロジェクトやアセンブリの要素をプロジェクトで使用することはできません。 インポートでは、参照を設定する代わりには使用されません。 これにより、プロジェクトで既に使用できる名前を修飾する必要がなくなります。 詳細については、「 宣言された要素への参照」の「含まれる要素のインポート」を参照してください。

暗黙的な Imports ステートメントは、[ 参照] ページのプロジェクト デザイナー (Visual Basic) を使用して定義できます。 詳細については、「 方法: インポートされた名前空間を追加または削除する (Visual Basic)」を参照してください。

エイリアスのインポート

インポート エイリアスは、名前空間または型のエイリアスを定義します。 インポート エイリアスは、1 つ以上の名前空間で宣言されている同じ名前の項目を使用する必要がある場合に便利です。 詳細と例については、「 宣言された要素への参照」の「要素名の修飾」を参照してください。

aliasnameと同じ名前のメンバーをモジュール レベルで宣言しないでください。 その場合、Visual Basic コンパイラは宣言されたメンバーに対してのみ aliasname を使用し、インポート エイリアスとして認識されなくなります。

インポート エイリアスの宣言に使用される構文は、XML 名前空間プレフィックスのインポートに使用される構文と似ていますが、結果は異なります。 インポート エイリアスはコード内で式として使用できますが、XML 名前空間プレフィックスは、修飾された要素または属性名のプレフィックスとして XML リテラルまたは XML 軸プロパティでのみ使用できます。

要素名

elementを指定する場合は、コンテナー要素、つまり他の要素を含めることができるプログラミング要素を表す必要があります。 コンテナー要素には、クラス、構造体、モジュール、インターフェイス、および列挙型が含まれます。

Imports ステートメントで使用できる要素のスコープは、elementを指定するかどうかによって異なります。 namespaceのみを指定した場合、その名前空間のすべての一意の名前付きメンバーと、その名前空間内のコンテナー要素のメンバーを修飾なしで使用できます。 namespaceelementの両方を指定すると、その要素のメンバーのみが修飾なしで使用できます。

例 1

次の例では、DirectoryInfo クラスを使用して、C:\ ディレクトリ内のすべてのフォルダーを返します。

このコードには、ファイルの先頭に Imports ステートメントがありません。 したがって、 DirectoryInfoStringBuilder、および 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

こちらも参照ください