在VB.Net中构造一个对象并调用一个没有赋值的方法

mdr*_*den 4 vb.net c#-to-vb.net

我不完全确定C#的作用是什么,所以我没有运气搜索VB.Net等效语法(如果它存在,我怀疑它可能没有).

在c#中,您可以这样做:

public void DoSomething() {
    new MyHelper().DoIt(); // works just fine
}
Run Code Online (Sandbox Code Playgroud)

但据我所知,在VB.Net中,您必须将辅助对象分配给局部变量,否则您只会收到语法错误:

Public Sub DoSomething()
    New MyHelper().DoIt() ' won't compile
End Sub
Run Code Online (Sandbox Code Playgroud)

这是我每天都在混合语言项目中遇到的好奇心之一 - 通常有一个VB.Net等价物,它使用的语法不那么明显.任何人?

Gid*_*rth 6

这里神奇的词是Call.

Public Sub DoSomething()
    Call (New MyHelper()).DoIt()
    Call New MyHelper().DoIt()
End Sub
Run Code Online (Sandbox Code Playgroud)