0

わかりました私はこの種の機能を持っています

Public Function myDog(name As String, age As Integer,Optional color As String = Nothing) As String
   'todo codes
    return Nothing
End Sub

今私の問題は、color関数の呼び出し中にパラメーターが入力されていないことを関数内でどのように見つけることができるかを知りたいことです

myDog("brown",2) 

colorパラメータが保持されている場合Nothing、関数の呼び出し中に満たされない場合、私は本当に頼りたくありません。関数が呼び出され、パラメータまで埋められているかどうかを本当に知りたいcolor

4

1 に答える 1

2

メソッドの呼び出し中にオプションのパラメーターが設定されているかどうかを知る必要がある場合は、これに対してオーバーロードを使用する必要があります。

あなたのメソッドを次の 3 つのメソッドに置き換えます。

Public Function myDog(name As String, age As Integer) As String
    Return myDog(name, age, Nothing, False)
End Function

Public Function myDog(name As String, age As Integer, color As String) As String
    Return myDog(name, age, color, True)
End Function

Private Function myDog(name As String, age As Integer, color As String, filledColor As Boolean) As String
    'todo codes
    Return Nothing
End Function

最初の 2 つのメソッドのみがパブリックにアクセス可能であり、3 番目のメソッドはプライベートですべての作業を行うことに注意してください。3 番目の内部では、filledColor が true かどうかを確認できます。

于 2013-08-07T06:21:47.533 に答える