Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1234 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Fonction qui récup tous les paramètres d'une méthode ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction qui récup tous les paramètres d'une méthode ?

n°1146702
lalex
Posté le 11-07-2005 à 16:56:59  profilanswer
 

Existe-il une fonction en VB.NET capable de me retourner tous les paramètres d'une méthode ?
 
Ca m'éviterait de déclarer un tableau de string par exemple, pour l'envoyer dans une fonction, mais plutôt d'écrire quelque chose du genre : fonction("str1", "str2"...).
 
thx


Message édité par lalex le 11-07-2005 à 16:57:29
mood
Publicité
Posté le 11-07-2005 à 16:56:59  profilanswer
 

n°1146705
FlorentG
Unité de Masse
Posté le 11-07-2005 à 16:57:59  profilanswer
 

Reflection ! Reflection ! Sinon bizarre ton truc :heink:

n°1146711
cesarr89
Posté le 11-07-2005 à 16:59:36  profilanswer
 

J'ai pas tout compris là.

n°1146776
Taz
bisounours-codeur
Posté le 11-07-2005 à 17:34:36  profilanswer
 

Introspection ! Introspection ! Sinon bizarre ton truc :heink:

n°1146830
lalex
Posté le 11-07-2005 à 17:54:35  profilanswer
 

Juste que la personne qui va utiliser mon truk souhaite envoyer directement des états (en gros des string) comme ça, sans s'emmerder à déclarer un tableau d'états par exemple, pour l'envoyer à la méthode.
 
Donc moi derrière, faut que je récup à la volée les paramètres de la méthode dont le nombre peut être variable. Il peut balancer un seul état comme 10 d'un coup.
Je sais que c'est un peu naz et c'est aussi un peu se faire chier pour rien, mais il aimerait ça !
 
Donc je demande vu que j'ai rien trouvé sur le sujet.

n°1146838
FlorentG
Unité de Masse
Posté le 11-07-2005 à 17:56:17  profilanswer
 

:heink:  [:alph-one]

n°1146887
kausa
Posté le 11-07-2005 à 18:36:34  profilanswer
 

si j ai bien compris ton pb voila une solution de bricolage :
tu peux concatener tous les string en les separant par une virgule
a cote tu fais une fonction qui va te permettre de d'extraire tes parametres un a un de cette grosse chaîne  

n°1147370
chagarou
Posté le 12-07-2005 à 01:25:15  profilanswer
 

Pas totalement sur d'avoir compris la chose mais te faudrait pas un truc du genre:
 

Code :
  1. Regex check = new Regex("[0-9]+" );
  2. if (check.IsMatch(attr.Value))
  3. {
  4.     MatchCollection matches = check.Matches(attr.Value);
  5.     if (matches.Count > 0)
  6.     {
  7.         // faire des trucs avec les matches[i].Value  
  8.     }
  9. }


Message édité par chagarou le 12-07-2005 à 01:28:08
n°1147416
cesarr89
Posté le 12-07-2005 à 08:57:36  profilanswer
 

Bah ta fonction tu la définie avec comme param un tableau d'Object et tu recupère tes strings dedans, non?

n°1147436
lalex
Posté le 12-07-2005 à 09:24:32  profilanswer
 

Pour la regexp, on va oublier car c vraiment très crado comme solution.
Sinon oui cesarr, sauf que ce qui l'emmerde (au gars qui va utiliser la méthode), c'est de déclarer un tabeau avant l'appel de la méthode.
En clair, il veut un et un seul appel avec x paramètres différents, et derrière faut que ça marche. Donc à part avoir une fonction du genre GetParamFunction() si elle existait, je vois pas comment faire. Mais visiblement ça n'existe pas.
J'ai essayé plusieurs truks, genre en déclarant comme param un tableau de string, et d'envoyer à la fonction plusieurs string séparés, peut être avec un coup de bol, il les aurait placé dans le tableau :p Un peu comme les argv qu'on passe à un programme.
 
Bref si ça n'existe pas, tant pis, il déclarera bel et bien un tableau de string que j'enverrais à la méthode.

mood
Publicité
Posté le 12-07-2005 à 09:24:32  profilanswer
 

n°1147440
FlorentG
Unité de Masse
Posté le 12-07-2005 à 09:32:56  profilanswer
 

Bah y'a une solution, 2 sec

n°1147443
FlorentG
Unité de Masse
Posté le 12-07-2005 à 09:35:40  profilanswer
 

Citation :

Un paramètre déclaré avec un modificateur params est un tableau de paramètres. Si une liste de paramètres formels comprend un tableau de paramètres, celui-ci doit être le dernier paramètre dans la liste et correspondre à un type tableau à une seule dimension.


 
du coup ça donne genre :
 

void ZeFonction(params string[] args) {
 
  [...]
}


Et l'appel :  

ZeFonction("pouet" );
ZeFonction("pouet", "plop" );
etc...


:)
 
Attention au fait qu'un paramètre noté params doit être le dernier des paramètres

n°1147455
cesarr89
Posté le 12-07-2005 à 09:49:18  profilanswer
 

FlorentG a écrit :

Citation :

Un paramètre déclaré avec un modificateur params est un tableau de paramètres. Si une liste de paramètres formels comprend un tableau de paramètres, celui-ci doit être le dernier paramètre dans la liste et correspondre à un type tableau à une seule dimension.


 
du coup ça donne genre :
 

void ZeFonction(params string[] args) {
 
  [...]
}


Et l'appel :  

ZeFonction("pouet" );
ZeFonction("pouet", "plop" );
etc...


:)
 
Attention au fait qu'un paramètre noté params doit être le dernier des paramètres


 
 
 
Voilà, c'est ce dont je parlais.

n°1147483
lalex
Posté le 12-07-2005 à 10:07:20  profilanswer
 

hey :p
Ca m'a l'air d'être tout à fait ça, je vais tester.

n°1147494
lalex
Posté le 12-07-2005 à 10:13:17  profilanswer
 

Hum, j'avais même pas fait gaffe que c'était en C#. Du coup, mon VB.NET n'aime pas trop la syntaxe.
Suis en train de chercher une correspondance en vb...

n°1147496
FlorentG
Unité de Masse
Posté le 12-07-2005 à 10:14:34  profilanswer
 

Ah merde, dire que je me suis fais chier à chercher en C# :D Je développe aussi en VB.NET

n°1147736
lalex
Posté le 12-07-2005 à 12:32:46  profilanswer
 

Bon ben c mystérieux...
Ya peut être une soluce avec ParamArrayAttribute mais c'est assez confus, j'ai du mal à piger comment ça marche.

n°1147793
FlorentG
Unité de Masse
Posté le 12-07-2005 à 13:34:31  profilanswer
 

La MSDN est ton amie ;)
 

Public Sub ZeFonction(ByVal ParamArray Pouet() As String)


n°1147831
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-07-2005 à 13:59:54  profilanswer
 

lalex a écrit :

Juste que la personne qui va utiliser mon truk souhaite envoyer directement des états (en gros des string) comme ça, sans s'emmerder à déclarer un tableau d'états par exemple, pour l'envoyer à la méthode.
 
Donc moi derrière, faut que je récup à la volée les paramètres de la méthode dont le nombre peut être variable. Il peut balancer un seul état comme 10 d'un coup.
Je sais que c'est un peu naz et c'est aussi un peu se faire chier pour rien, mais il aimerait ça !
 
Donc je demande vu que j'ai rien trouvé sur le sujet.


params (ou ParamArray en VB) ?
 
edit: [:benou_grilled]


Message édité par Harkonnen le 12-07-2005 à 14:01:19

---------------
J'ai un string dans l'array (Paris Hilton)
n°1147861
lalex
Posté le 12-07-2005 à 14:14:26  profilanswer
 

!
 
Décidément, je m'y ferais jms à la msdn. J'ai cherché tte la matinée, impossible de tomber sur ce mot-clé. Merci bcps en tout cas, c'est bien ce que je voulais :)

n°1147873
FlorentG
Unité de Masse
Posté le 12-07-2005 à 14:22:30  profilanswer
 

Entraîne-toi tout de suite à utiliser la MSDN, 95% des problèmes y trouvent réponse

n°1148007
lalex
Posté le 12-07-2005 à 15:29:23  profilanswer
 

vi, je m'y force ... :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Fonction qui récup tous les paramètres d'une méthode ?

 

Sujets relatifs
Est ce une bonne methode que de faire ca ?[VBA EXCEL] fonction très simple qui renvoie #VALEUR...
[INFOPATH] Passer des paramètres à un formulaire infopath?Portlet pb de récupération de paramètres dans une URL
Problème fonction php: Undefined variable[Qt] QPopupMenu.insertItem et paramètres dans le signal
(VBA) Fonction imprimer dans menu contextuelparametre d'une fonction
deuxieme liste deroulante en fonction de la premiereredirection en fonction de l'utilisateur avec .htaccess
Plus de sujets relatifs à : Fonction qui récup tous les paramètres d'une méthode ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR