VB.Net调用New而不赋值

发布于 2024-09-05 07:05:58 字数 246 浏览 5 评论 0原文

在 C# 中,我可以这样做:

new SomeObjectType("abc", 10);

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

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

有没有办法在 VB.Net 中做到这一点?

In C# I can do this:

new SomeObjectType("abc", 10);

In other words, I can call new without assigning the created instance to any variable. However, in VB.Net it seems I cannot do the same thing.

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

Is there a way to do this in VB.Net?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

躲猫猫 2024-09-12 07:05:58

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

Call New SomeObjectType("abc", 10)

注意所需的 Call

The following works on the Mono VB compiler (vbnc, version 0.0.0.5914, Mono 2.4.2 - r):

Call New SomeObjectType("abc", 10)

Notice the required Call.

暮色兮凉城 2024-09-12 07:05:58

请参阅其他SO答案的答案

所以这应该有效:

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

See the answers to this other SO Answer

So this should work:

With New SomeObjectType("abc", 10)
End With
-小熊_ 2024-09-12 07:05:58

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

Sub gobble(dummy As Object)
End Sub

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

gobble(New SomeClass())

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

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

One can define a Sub to discard the constructed object:

Sub gobble(dummy As Object)
End Sub

Then call the constructor as follows:

gobble(New SomeClass())

I'm using this approach in tests when I test exceptions in constructors. I construct the object in a lambda and pass that lambda to a function that checks for the Exception. Fits nicely on a line.

assertThrows(Of ArgumentOutOfRangeException)(Sub() gobble(New ClassUnderTest("stuff")))
轮廓§ 2024-09-12 07:05:58

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

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

您还有更多发生这种情况的代码吗?

That should be the correct syntax, e.g.

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

Have you got some more code where this is happening?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文