在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)
但这不起作用。
答案 0 :(得分: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