代码之家  ›  专栏  ›  技术社区  ›  dcp

VB.Net调用New而不赋值

  •  3
  • dcp  · 技术社区  · 14 年前

    C# 我可以做到:

    new SomeObjectType("abc", 10);
    

    换句话说,我可以调用new,而无需将创建的实例分配给任何变量。然而,在 VB.Net

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

    VB.Net版 ?

    4 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    7 年前

    看看这个问题的答案 SO Answer

    所以这应该有效:

    With New SomeObjectType("abc", 10)
    End With
    
        2
  •  2
  •   Konrad Rudolph    14 年前

    以下是Mono-VB编译器的工作( vbnc

    Call New SomeObjectType("abc", 10)
    

    注意所需的 Call .

        3
  •  1
  •   Patrick Böker    8 年前

    可以定义子对象以丢弃构造的对象:

    Sub gobble(dummy As Object)
    End Sub
    

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

    gobble(New SomeClass())
    

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

    assertThrows(Of ArgumentOutOfRangeException)(Sub() gobble(New ClassUnderTest("stuff")))
    
        4
  •  0
  •   Matthew Abbott    14 年前

    这应该是正确的语法。

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