引用和 Imports 语句 (Visual Basic)

通过在“项目”菜单上选择“添加引用”命令,可以使外部对象可用于项目。 Visual Basic 中的引用可指向程序集,这些程序集类似于类型库,但包含更多信息。

Imports 语句

程序集包括一个或多个命名空间。 添加对程序集的引用时,还可以向一个模块添加 Imports 语句,该模块控制该程序集的命名空间在模块中的可见性。 Imports 语句提供一个作用域上下文,支持仅使用提供唯一引用所必要的命名空间部分。

Imports 语句具有以下语法:

Imports [Aliasname =] Namespace

Aliasname 引用可在代码中用来引用导入的命名空间的短名称。 Namespace 是一个命名空间,可通过项目引用、项目中的定义或通过前一个 Imports 语句提供。

模块可以包含任意多个 Imports 语句。 这些语句必须位于 Option 语句(如果存在)之后,同时位于任何其他代码之前。

注意

不要将项目引用与 Imports 语句或 Declare 语句混淆。 项目引用使外部对象(如程序集中的对象)可用于 Visual Basic 项目。 Imports 语句用于简化对项目引用的访问,但不提供对这些对象的访问权限。 Declare 语句用于声明对动态链接库 (DLL) 中外部过程的引用。

在 Imports 语句中使用别名

Imports 语句消除了显式键入引用的完全限定名的需要,从而使类方法的访问变得更容易。 使用别名可以为命名空间的某个部分分配更友好的名称。 例如,导致一段文本显示在多行上的回车/换行符序列是 Microsoft.VisualBasic 命名空间中 ControlChars 模块的一部分。 若要在无别名的程序中使用此常量,需要键入以下代码:

MsgBox("Some text" & Microsoft.VisualBasic.ControlChars.CrLf &
       "Some more text")

Imports 语句必须始终位于模块中任何 Option 语句后面的第一行。 下面的代码段演示了如何导入和分配 Microsoft.VisualBasic.ControlChars 模块的别名:

Imports CtrlChrs = Microsoft.VisualBasic.ControlChars

对此名称空间的后续引用可能会短得多:

MsgBox("Some text" & CtrlChrs.CrLf & "Some more text")

如果 Imports 语句不包含别名,则导入的命名空间中定义的元素无需限定便可以在模块中使用。 如果指定了别名,需要将其用作该命名空间中包含的名称的限定符。

另请参阅