引用和 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
语句不包含别名,则导入的命名空间中定义的元素无需限定便可以在模块中使用。 如果指定了别名,需要将其用作该命名空间中包含的名称的限定符。