我已经看到了一些导入类的代码,而不是命名空间,使得该类的所有静态成员/方法都可用.这是VB的一个功能吗?或者其他语言也这样做? TestClass.vb public class TestClass public shared function Som
TestClass.vb
public class TestClass public shared function Somefunc() as Boolean return true end function end class
MainClass.vb
imports TestClass public class MainClass public sub Main() Somefunc() end sub end class
这些文件位于App_Code目录中.只是好奇,因为我以前从未想过这样做,也没有在任何地方读过它.
此功能的原因之一是模拟Visual Basic 6.0的GlobalMultiUse Option for Instancing. Visual Basic 6.0无法跨DLL边界公开模块.而是将实例化属性设置为GlobalMultiUse.它主要用于实用程序类,如导出一系列数学函数的类.每次使用GlobalMultiUse Instancing在类上调用子例程或函数时,Visual Basic 6.0在调用函数之前在后台实例化一个类.
可以滥用它来生成具有所有优点和缺点的全局函数/变量.