如何传递内联新对象的参数?

时间:2015-07-29 19:00:13

标签: vb.net

我有一个接受字符串作为参数的方法。 我需要传递的字符串是实例化对象的属性。 一旦我获得该属性的值,我就不需要该对象留下来。

我知道我可以这样做:

Dim x As New myClass1
foo.thing1 = MyMethod(x.Name)
x = New MyClass2
foo.thing2 = MyMethod(x.Name)
'etc...

但如果可能的话,我更愿意内联,因为我必须连续多次使用不同的MyClass类型。

编辑:

想出来:

foo.thing = MyMethod(new MyClass().Name)

2 个答案:

答案 0 :(得分:4)

尝试

foo.thing1 = MyMethod((New myClass1).Name)
foo.thing2 = MyMethod((New MyClass2).Name)

您需要New myClass1周围的大括号,否则VB会认为您正在尝试创建myClass1.Name类型的对象,当然,该对象不存在。

答案 1 :(得分:1)

foo.thing = MyMethod(new MyClass().Name)