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

更新 : 2007 年 11 月

現在のプロジェクトに定義された、または参照されているプロジェクトとアセンブリに定義された名前空間またはプログラミング要素をインポートします。

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

指定項目

  • aliasname
    省略可能です。コードが namespace を参照するために、完全修飾文字列の代わりに使用するインポート エイリアスまたは名前です。宣言された要素の名前 を参照してください。

  • namespace
    必ず指定します。インポートされる名前空間の完全修飾名を指定します。入れ子構造のどのレベルにある名前空間の文字列でも指定できます。

  • element
    省略可能です。名前空間に宣言されているプログラミング要素の名前を指定します。任意のコンテナ 要素を指定できます。

解説

1 つのファイルで使用できる Imports ステートメントの数に制限はありません。このステートメントの前には、Option Strict ステートメントなどの任意のオプションを宣言する必要があり、後には Module ステートメントや Class ステートメントなどの任意のプログラミング要素を宣言する必要があります。

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

1 つ以上の名前空間で宣言されているのと同名の項目を使用する必要がある場合は、インポート エイリアスが便利です。詳細と使用例については、「同じ名前を持つ複数の変数がある場合に参照を解決する」の「同じ名前のクラス」を参照してください。

Imports ステートメントを指定しても、他のプロジェクトとアセンブリの要素を自分のプロジェクトで使用できるようになるわけではありません。インポートは参照を設定する代わりには使用できません。もともとプロジェクトで利用可能な名前を修飾する必要がなくなるだけです。詳細については、「同じ名前を持つ複数の変数がある場合に参照を解決する」の「コンテナ要素のインポート」を参照してください。

メモ :

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

規則

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

  • 名前空間名入れ子になった名前空間の名前空間名または文字列を 1 つで指定できます。より高いレベルの名前空間から入れ子にされた名前空間を区切るには、ピリオド (.) を使います。次に例を示します。

    Imports System.Collections.Generic

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

動作

  • スコープImports ステートメントによって利用可能になる要素のスコープは、element を指定するかどうかによって変わります。namespace だけを指定した場合、その名前空間の一意な名前を持つすべてのメンバ、およびその名前空間に含まれるコンテナ要素のメンバを、修飾子なしで使用できます。namespace と element を指定した場合は、その要素のメンバだけを修飾子なしで使用できます。

  • 修飾名前空間やコンテナ要素の外部にあるコードでは、通常はその名前空間のコンテナ要素の名前でメンバ名を修飾します。Imports ステートメントを使用すると、プロジェクトから同名の別のメンバにアクセスできる場合を除いて、このような修飾が不要になります。このような場合は、各 Imports ステートメントに aliasname を指定します。そうすれば、同名のメンバをインポート エイリアスで修飾するだけで済みます。

使用例

Microsoft.VisualBasic.Strings クラスをインポートして、str というエイリアスを設定し、このエイリアスを使って Left メソッドにアクセスするコード例を次に示します。

' Place Imports statements at the top of your program.
Imports str = Microsoft.VisualBasic.Strings
Class testClass1
    Sub showHello()
        ' Display only the word "Hello"
        MsgBox(str.Left("Hello World", 5))
    End Sub
End Class

この例では、Microsoft 内の VisualBasic に入れ子になった名前空間、Strings がインポートされています。MsgBox 関数 (Visual Basic)Left メソッドにアクセスするとき、str というエイリアスを全修飾文字列 Microsoft.VisualBasic.Strings の代わりに使用できます。

参照

概念

Visual Studio の .NET Framework クラス ライブラリの概要

Visual Basic における名前空間

参照

Namespace ステートメント

Imports ステートメント (XML 名前空間)

その他の技術情報

Visual Basic と .NET Framework