/autoref
当声明变量时,如果程序集与导入的命名空间或者与类型批注具有相同的名称,则自动引用程序集。
/autoref[+ | -]
参数
- +| -
在默认情况下为 on,除非指定 /nostdlib+。 如果指定 /autoref+ 或只指定 /autoref,将导致编译器根据导入的命名空间和完全限定名称自动引用程序集。
备注
/autoref 选项命令编译器引用程序集,而不必将程序集传递给 /reference。 在使用 import 导入命名空间时,或者在代码中使用完全限定类型名称时,JScript 编译器将搜索包含该类型的程序集。 有关 JScript 编译器如何搜索程序集的讨论,请参见 /lib。
如果编译器与要生成的程序的输出文件同名,则它不尝试引用程序集。
示例
下面的程序将在 /autoref+ 有效时编译和运行;编译器将在声明变量时把 System.dll 作为类型批注的一个结果来引用。
var s: System.Collections.Specialized.StringCollection =
new System.Collections.Specialized.StringCollection();
print(s);
下面的程序将在 /autoref+ 有效时编译和运行;编译器将把 System.dll 作为 import 语句的一个结果来引用。
import System;
var s = new System.Collections.Specialized.StringCollection();
print(s);
这些示例还显示编译器如何根据类型批注或 import 语句查找程序集名称。 当编译器找不到包含 StringCollection 的名为 System.Collections.Specialized.dll 的程序集时,它会查找 System.Collections.dll。 如果找不到该文件,则它会查找 System.dll,并发现它确实包含 StringCollection。