我有這樣如何用內部元素聲明一個可選的ArrayList ....?
Public Shared Function myfunction(Byval myvar as string,
Optional ByVal myarray As ArrayList = Nothing) As String
一個接口,但我想聲明有默認值的可選數組列表......怎麼辦?
我有這樣如何用內部元素聲明一個可選的ArrayList ....?
Public Shared Function myfunction(Byval myvar as string,
Optional ByVal myarray As ArrayList = Nothing) As String
一個接口,但我想聲明有默認值的可選數組列表......怎麼辦?
你不能。
默認參數值必須是編譯時常量;你不能使用一個對象instanec作爲默認值(字符串除外)。
相反,您可以檢查函數內是否爲Nothing
,如果是,則使用默認值填充它。
你可以使用,而不是
Public Shared Function myfunction(ByVal myvar as String) As String
Dim myArray as ArrayList = new ArrayList()
'' populate here
Return myFunction(myvar, myarray)
End Function
Public Shared Function myfunction(ByVal myvar as string, _
ByVal myarray as ArrayList) As String
End Function
+1實際解決OP的問題,而不是簡單地說它不能完成。 – Brad 2010-11-19 16:49:02
超載@Brad:不,你沒有。 'ParamArray'不能用來提供一組非空的默認值。 – SLaks 2010-11-19 16:48:05
有人說過,我不明白爲什麼mellamokb的回答不完全是要求的。 – Chris 2010-11-19 16:51:25
@Chris:這就是我最後的意思,除了重載而不是可選參數。 – SLaks 2010-11-19 17:03:52