web-dev-qa-db-ja.com

VB関数でオプションのパラメータ/デフォルト値パラメータを追加するには?

Visual Basicでオプションのパラメーターを持つメソッドを作成するにはどうすればよいですか?

34
Steve Duitsman

Optionalキーワードを使用して、デフォルト値を指定します。曖昧な関数の作成を避けるために、オプションのパラメーターは最後に定義されたパラメーターでなければなりません。

Sub MyMethod(ByVal Param1 As String, Optional ByVal FlagArgument As Boolean = True)
    If FlagArgument Then
        'Do something special
        Console.WriteLine(Param1)
    End If

End Sub

次のように呼び出します。

MyMethod("test1")

またはこのように:

MyMethod("test2", False)
72
Joel Coehoorn

オプションの引数は、必須の引数の前に配置できないことに注意してください。

このコードはエラーを示します:

 Sub ErrMethod(オプションのByVal FlagArgument As Boolean = True、ByVal Param1 As String)
 If FlagArgument Then 
 .____。] End If 
 End Sub 

これは一般的なエラーであり、デバッガではあまり説明されていません...意味があり、呼び出しを想像してください...

 ErrMethod(???、Param1)
0
Marcelo Nuñez