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

时间:2010-04-15 20:21:01

标签: vb.net c#-to-vb.net

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

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

public void DoSomething() {
    new MyHelper().DoIt(); // works just fine
}

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

Public Sub DoSomething()
    New MyHelper().DoIt() ' won't compile
End Sub

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

2 个答案:

答案 0 :(得分:6)

这里神奇的词是Call。

Public Sub DoSomething()
    Call (New MyHelper()).DoIt()
    Call New MyHelper().DoIt()
End Sub

答案 1 :(得分:2)

Gideon Engelberth使用Call是正确的。这是最好的选择。

另一种选择是使用With语句:

With New MyHelper()
    .DoIt()
End With