Imports 陳述式 (.NET 命名空間和類型)

允許在沒有命名空間限定性時參考型別名稱。

語法

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

組件

詞彙 定義
aliasname 選擇性。 匯入別名或名稱,程式碼可參考 namespace,而不是完整限定性字串。 請參閱 Declared Element Names
namespace 必要。 要匯入的命名空間完整名稱。 可為巢狀成任何層級的命名空間字串。
element 選擇性。 命名空間中宣告的程式設計元素名稱。 可為任何容器元素。

備註

Imports 陳述式允許直接參考包含在指定命名空間中的型別。

您可提供單一命名空間名稱或巢狀命名空間的字串。 每個巢狀命名空間會以句號 (.) 隔開下一個較高層級的命名空間,如下列範例所示:

Imports System.Collections.Generic

每個來源檔案都可包含任意數目的 Imports 陳述式。 這些必須遵循選項宣告,例如 Option Strict 陳述式,且其必須在程式設計項目之前,例如 ModuleClass 陳述式。

您僅可在檔案層級使用 Imports。 這表示匯入的宣告內容必須是來源檔案,而不能是命名空間、類別、結構、模組、介面、程序或區塊。

請注意,Imports 陳述式不會將來自其他專案和組件的元素提供給您的專案。 匯出不會取代設定參考。 僅會移除限定您專案已可用名稱的需求。 如需詳細資訊,請參閱宣告元素的參考中的<匯入包含元素>。

注意

您可使用參考頁面、專案設計工具 (Visual Basic)來定義隱含 Imports 陳述式。 如需詳細資訊,請參閱如何:新增或移除匯入的命名空間 (Visual Basic)

匯入別名

匯入別名會定義命名空間或型別的別名。 當您必須使用項目且其具有在一或多個命名空間中宣告的相同名稱時,匯入別名會相當實用。 如需詳細資訊和範例,請參閱宣告元素的參考中的<限定元素名稱>。

您不應在模組層級宣告與 aliasname 相同名稱的成員。 如果您已宣告,Visual Basic 編譯器僅會將 aliasname 用於宣告的成員且不再將其辨識為匯入別名。

即使用於宣告匯入別名的語法與用於匯入 XML 命名空間前置詞的語法相似,但結果仍會不同。 匯入命名可作為程式碼中的運算式,其中 XML 命名空間前置詞僅可用於 XML 常值或 XML 軸屬性作為限定元素或屬性名稱的前置詞。

項目名稱

如果您提供 element,則必須代表容器元素,亦即可包含其他元素的程式設計元素。 容器元素包含類別、模組、介面和列舉。

Imports 陳述式所提供的元素範圍取決於您是否指定 element。 如果您僅指定 namespace,則在不加限定的情況下提供該命名空間的所有唯一具名成員和該命名空間內容器元素的成員。 如果您同時指定 namespaceelement,則在不加限定的情況下僅提供該元素的成員。

範例 1

下列範例會使用 DirectoryInfo 類別傳回 C:\ 目錄中的所有資料夾:

程式碼在檔案的頂端沒有 Imports 陳述式。 因此,DirectoryInfoStringBuilderCrLf 參考都以命名空間完整限定。

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

另請參閱