2

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)

しかし、これはうまくいきません。

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 が返された 2 番目のメッセージボックスが出力されます: 4

于 2013-04-05T12:45:31.393 に答える