-
Passage de parametre
Bonjour
Je souhaite faire appel à une fonction avec un nombre X de parametre.
Ma fonction
Public function gettest(ByVal param1, ByVal param2, ByVal param3){}
Mon appel
gettest('test1','test2'){}
D'après mes souvenirs en C, il suffisait de déclarer la fonction de la manière suivante :
Public function gettest(ByVal param1="", ByVal param2="", ByVal param3=""){}
J'aimerai savoir si celà marche de la même manière, sinon si c'est possible et comment, avant d'entrer dans une phase de production et éviter les dysfonctionnement.
Merci.
-
Tu souhaites une fonction avec des paramètres par défaut ou un nombre de paramètres variables?
Regarde l'aide sur le mot clé Params
-
Le nombre de parametre est fixe, ce que je souhaite c'est ne pas être obligé dans mon appel devoir préciser les parametres inutiles à vide.
Je veux pouvoir faire par exemple :
MonAppel(Param1) ou MonAppel(Param1, Param2)
Et ne pas être obligé de faire un appel du genre
MonAppel(Param1, "")
Cette nécessité découle d'une politique qualité que je veux respecter.
-
Donc, une fonction à nombre de paramètres variables, sauf si au sein de la fonction tu utilises systématiquement param2.
Sinon, tu créés deux fonctions, l'une acceptant 1 paramètres et l'autre en acceptant 2. Tu ne dupliques évidement pas ton code, ta première fonction appelle la seconde avec un paramètre par défaut.
-
Merci pour ton aide, j'ai trouvé ma solution :
Public Function GetData(ByVal Param1, Optional ByVal Param2 As String = "test")
Ainsi a mon appel de fonction, le param2 n'est pas obligatoire.
Problème résolu.
-
Complément d'infos pour les prochaines personnes qui chercherai une solution dans le cadre des webservices "WebMethod" :
Les paramétres sont déjà facultatifs donc il n'y a pas besoin d'y utiliser l'option Optional qui d'ailleur engendrerait une erreur dans ce cas.
J'ai testé cette technique avec succès