【问题标题】:Naming Optional Parameters in Visual Basic在 Visual Basic 中命名可选参数
【发布时间】:2011-03-04 06:16:53
【问题描述】:

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

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

要使用foo,只需要最后一个参数,如下所示:

fud = foo( , , 4)

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

fud = foo(val3:=4)

但这不起作用。

【问题讨论】:

  • 如果您提供一些您尝试过的代码,则更容易给出答案。
  • Function foo(Optional val1 = 1, Optional val2 = 2, Optional val3 = 3) ... End Function 使用 foo 只需要最后一个 arg 像这样:fud = foo( , , 4 ) 有点笨拙。如果这样的构造起作用会更好:fud = foo(val3:=4)。但这不起作用。如果这样的事情能奏效,那就太好了!谢谢。
  • 已经有一段时间了,似乎没有人可以找到解决方案。感谢您的尝试。

标签: vb6 optional-arguments


【解决方案1】:

这确实有效:

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

【讨论】:

    猜你喜欢
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2010-12-09
    相关资源
    最近更新 更多