Imports 语句(.NET 命名空间和类型)

使类型名称引用,而无需命名空间限定。

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

部件

术语

定义

aliasname

选项。 代码可以引用 namespace 而不是完全限定字符串的 导入别名 或名称。 请参见 已声明的元素名称 (Visual Basic)

namespace

必需。 导入的命名空间的完全限定名。 可以是命名空间字符串嵌套到所有层。

element

选项。 在命名空间声明的编程元素的名称。 可以是任何容器元素。

备注

Imports 语句允许在将直接引用的特定空间中包含的类型。

可以提供一个命名空间名称或嵌套的命名空间字符串。 ,如下面的示例所示,为每个嵌套的命名空间从下一个较高级别命名空间分隔。.句点 () 之前。

Imports System.Collections.Generic

每个源文件可以包含任意数量的 Imports 语句。 这些必须跟随任何选项声明,如 Option Strict 语句,并且,它们必须在任何编程元素声明,如 Module 或 Class 语句。

仅可以 Imports 在文件级。 这意味着导入的声明上下文必须是源文件,并且不能是命名空间,类,结构,模块,接口,程序,或者块。

请注意 Imports 语句由其他项目和程序集不使元素可供您的项目。 导入不能取代引用。 它只撤消需要限定到您的项目还可用的名称。 有关更多信息,请参见中的 “导入包含元素” 对已声明元素的引用 (Visual Basic)

备注

通过使用, 项目设计器 ->“引用”页 (Visual Basic)您可以定义隐式 Imports 语句。有关更多信息,请参见 如何:添加或移除导入的命名空间 (Visual Basic)

导入别名

导入别名 定义命名空间或类型的别名。 导入别名很有用,当您需要使用在一个或多个命名空间声明同名的项时。 有关更多信息和示例,请参见中的 “限定元素名称” 对已声明元素的引用 (Visual Basic)

不应声明成员在具有名称的模块级别和 aliasname相同。 否则, Visual Basic 编译器为个声明的成员仅使用 aliasname 和不再将其识别为导入别名。

虽然对于声明导入别名使用的语法是类似有关导入 XML 命名空间前缀使用,结果是不同的。 导入别名用作表达式在代码中,,而 XML 命名空间前缀在 XML 文本或 XML 轴属性只能用作标题为限定的元素或特性名称。

元素名称

如果提供 element,它必须表示 容器元素,即,可以包含其他组件的编程元素。 容器元素包括类、结构、模块、接口和枚举。

可用元素的大小使 Imports 语句取决于是否指定 element。 如果指定 namespace、该命名空间中的任何一个命名的容器元素的成员和成员该命名空间中,可没有限定。 如果指定 namespace 和 element,因此,只有该元素的成员可用的没有限定。

示例

使用 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

下面的示例包含引用的命名空间的 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

下面的示例创建包含引用的命名空间的别名的 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

下面的示例包括创建引用类型的别名的 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

请参见

参考

Namespace 语句

Imports 语句(XML 命名空间)

概念

Visual Basic 中的命名空间

引用和 Imports 语句 (Visual Basic)

对已声明元素的引用 (Visual Basic)