1

我有一个包含 ParamArray 参数的方法,想知道是否可以在 VBA 中使用一些特殊符号来获得与以下相同的效果:

method val1, _
         val2, _
         new object(){prop1:=val11, _
                      prop2:=val12}, _
         new object(){prop1:=val21, _
                      prop2:=val22}

它不漂亮,但应该明白这一点。基本上,我正在尝试翻译自 1.0 以来我在 .Net 中学到的技能/逻辑,并尝试在 VBA 中加入类似的逻辑设计。

4

1 回答 1

1

假设你的意思是对象构造速记,那么没有,没有直接的等价物。

如果成员名称相同,则可以使用工厂函数

method val1, val2, makeFoo(val11, val12), makeFoo(val21, val22)
.
.
.
function makeFoo(prop1 as string, prop2 as string) As clsFoo
   set makeFoo = new clsFoo
   makeFoo.prop1 = prop1
   makeFoo.prop2 = prop2
end function

Optionalparams 也允许命名参数makeFoo(prop1:=val11, ...

于 2012-10-10T14:39:57.297 回答