2010-11-19 4 views

Antwort

1

Sie können nicht.

Standard-Parameterwerte müssen Kompilierzeitkonstanten sein; Sie können ein Objekt Instanec nicht als Standardwert verwenden (außer für Strings).

Stattdessen können Sie überprüfen, ob es innerhalb der Funktion Nothing ist, und wenn ja, füllen Sie es mit Standardeinstellungen.

+0

@Brad: Nein, Sie nicht. 'ParamArray' kann nicht verwendet werden, um einen nicht leeren Satz von Standardwerten bereitzustellen. – SLaks

+0

Nachdem ich gesagt habe, verstehe ich nicht, warum Mellamokbs Antwort nicht genau das ist, wonach man gefragt hat. – Chris

+0

@Chris: Das ist genau das, was ich am Ende meinte, außer mit einer Überladung anstelle eines optionalen Parameters. – SLaks

6

könnten Sie Überlastung anstelle

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

+1 für die Lösung des OP-Problems, nicht einfach sagen, dass es nicht möglich ist. – Brad