VB.Net调用New而不分配值

时间:2010-06-10 14:46:41

标签: vb.net .net-2.0 constructor

C#我可以这样做:

new SomeObjectType("abc", 10);

换句话说,我可以在不将创建的实例分配给任何变量的情况下调用new。但是,在VB.Net中,我似乎无法做同样的事情。

New SomeObjectType("abc", 10) ' syntax error

有没有办法在VB.Net中执行此操作?

4 个答案:

答案 0 :(得分:2)

以下适用于Mono VB编译器(vbnc,版本0.0.0.5914,Mono 2.4.2 - r):

Call New SomeObjectType("abc", 10)

注意所需的Call

答案 1 :(得分:1)

查看其他SO Answer

的答案

所以这应该有效:

With New SomeObjectType("abc", 10)
End With

答案 2 :(得分:0)

这应该是正确的语法,例如

Dim name As New String
Dim url As New Uri("http://www.somedomain.com")

你有更多的代码可以解决这个问题吗?

答案 3 :(得分:0)

可以定义一个Sub来丢弃构造的对象:

Sub gobble(dummy As Object)
End Sub

然后按如下方式调用构造函数:

gobble(New SomeClass())

当我在构造函数中测试异常时,我在测试中使用此方法。我在lambda中构造对象并将该lambda传递给检查Exception的函数。适合在一条线上。

assertThrows(Of ArgumentOutOfRangeException)(Sub() gobble(New ClassUnderTest("stuff")))