2008-10-28 83 views
1

编辑:这是偶然发布两次。原始的:VB.NET Importing ClassesVB.NET导入类

我见过一些代码,其中被导入,而不是命名空间,使得该类的所有静态成员/方法可用。这是VB的一个功能吗?或者其他语言也这样做?

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目录。只是好奇,因为我从来没有想过要这样做,也没有在任何地方读过它。

+0

[VB.NET Importing Classes]的可能重复(http://stackoverflow.com/questions/243900/vb-net-importing-classes) – Kevin 2011-02-10 02:00:47

回答

1

Imports仅创建对类的引用,它不创建它的一个实例使用。

你在新类中看到函数的原因是它是一个shared函数,它不需要父级有一个创建的实例使用。

干杯!

1

通过使用“HideModuleNameAttribute”,您可以调用方法而无需识别他们的父亲。

实施例:

Public Class TestClassCaller 
    Public Sub New() 
     SomeMethod() 
    End Sub 

End Class 

<HideModuleName()> _ 
    Public Module TestClass 
    Public Sub SomeMethod() 

    End Sub 
End Module