允許在沒有命名空間限定性的情況下參考類型名稱。
語法
Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element
組件
| 術語 | 定義 |
|---|---|
aliasname |
選擇性。 程式代碼可以參考namespace的匯入別名或名稱,而不是完整的限定字串。 請參閱 宣告的項目名稱。 |
namespace |
必須的。 要匯入之命名空間的完整名稱。 可以是巢狀至任何層級的命名空間字串。 |
element |
選擇性。 命名空間中宣告的程式設計項目名稱。 可以是任何容器專案。 |
備註
語句 Imports 可讓指定命名空間中包含的型別直接參考。
您可以提供單一命名空間名稱或巢狀命名空間字串。 每個巢狀命名空間會以句號隔開下一個較高層級的命名空間,.如下列範例所示:
Imports System.Collections.Generic
每個來源檔案可以包含任意數目的 Imports 語句。 這些必須遵循任何選項宣告,例如 Option Strict 語句,而且它們必須位於任何程式設計專案宣告之前,例如 Module 或 Class 語句。
您只能在檔案層級使用 Imports 。 這表示匯入的宣告內容必須是來源檔案,而且不能是命名空間、類別、結構、模組、介面、程式或區塊。
請注意, Imports 語句不會讓其他專案和元件的專案可供您的專案使用。 匯入不會取代設定參考。 它只會移除符合專案可用名稱的需求。 如需詳細資訊,請參閱 宣告項目參考中的。
備註
您可以使用參考頁面、項目設計工具(Visual Basic)來定義隱含Imports語句。 如需詳細資訊,請參閱如何:新增或移除匯入的命名空間(Visual Basic)。
匯入別名
匯入別名會定義命名空間或類型的別名。 當您需要使用具有相同名稱的專案,且在一或多個命名空間中宣告時,匯入別名會很有用。 如需詳細資訊和範例,請參閱 宣告項目參考中的。
您不應該在模組層級宣告與 同名 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