2

在 Visual Basic 中,我有带有很多可选参数的函数。我希望能够将其中一些可选参数传递给函数,而不必使用大量逗号和空格来获取我想要的参数。在某个地方,我看到了一种命名参数的方法,例如OptVar:=val,但这似乎不起作用。只是想知道是否有办法做到这一点。这将有助于提高可读性。

Function foo(Optional val1 = 1, Optional val2 = 2, Optional val3 = 3) 
End Function

foo仅与需要的最后一个 arg 一起使用,如下所示:

fud = foo( , , 4)

有点笨拙。如果这样的构造起作用会更好:

fud = foo(val3:=4)

但这不起作用。

4

1 回答 1

4

这实际上确实有效:

Function foo(Optional val1 = 1, Optional val2 = 2, Optional val3 = 3)
    MsgBox "val1: " & val1 & " val2: " & val2 & " val3: " & val3
    foo = val3
End Function


Private Sub Form_Load()
    MsgBox "foo returned: " & foo(val3:=4)
End Sub

您将得到第一个消息框作为输出,上面写着“val1:1 val2:2 val3:4”,第二个消息框返回 foo:4

于 2013-04-05T12:45:31.393 回答