2013-08-07 23 views
0

確定我確實有這種功能知道,如果一個可選的參數不填充函數調用VB.NET

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是否爲真。

相關問題