好的我确实有这种功能
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
答案 0 :(得分: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
请注意,前两种方法只能公开访问,而第三种方法是私有方式并且完成所有工作。在第三个内部,您可以检查filledColor是否为真。