2010-11-19 17 views

Répondre

1

Vous ne pouvez pas.

Les valeurs de paramètre par défaut doivent être des constantes de compilation; vous ne pouvez pas utiliser un objet instanec comme valeur par défaut (sauf pour les chaînes). Au lieu de cela, vous pouvez vérifier s'il s'agit de Nothing à l'intérieur de la fonction et, si c'est le cas, le remplir avec les valeurs par défaut.

+0

@Brad: Non, vous ne l'avez pas. 'ParamArray' ne peut pas être utilisé pour fournir un ensemble de valeurs par défaut non vide. – SLaks

+0

Cela étant dit, je ne vois pas pourquoi la réponse de mellamokb n'est pas exactement ce qui a été demandé. – Chris

+0

@Chris: C'est exactement ce que je voulais dire à la fin, sauf avec une surcharge au lieu d'un paramètre facultatif. – SLaks

6

Vous pouvez utiliser la surcharge à la place

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 pour résoudre le problème du PO, pas simplement dire qu'il ne peut pas être fait. – Brad