不带实例变量直接调用方法

Ari*_*rie 1 vb.net

有没有一种方法可以直接调用方法而无需创建特定类的实例,就像在C#中那样,所以除了这种方式之外:

Dim myclass as New ClassX
myclass.MyMethod()
Run Code Online (Sandbox Code Playgroud)

有没有办法使用类似的东西:

New ClassX.MyMethod
Run Code Online (Sandbox Code Playgroud)

我发现这种方式,似乎正在工作,但不确定其是否正确:

   (New ClassX).MyMethod
Run Code Online (Sandbox Code Playgroud)

Mar*_*kus 5

如果您的方法是实例级方法,则只能使用类的实例来访问它。通过使用

(New ClassX).MyMethod
Run Code Online (Sandbox Code Playgroud)

您隐式创建一个只能访问一次的新实例。

一种替代方法是更改​​方法的签名并将其标记为Shared方法:

Public Class ClassX
    Public Shared Sub MyMethod()
        ' ...
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

Shared是CB static中调用的VB.NET创建方法的方法。这样,您可以通过仅指定类名而不创建实例来访问方法:

ClassX.MyMethod()
Run Code Online (Sandbox Code Playgroud)