Appeler la méthode d'une classe par un String

Appeler la méthode d'une classe par un String - Java - Programmation

Marsh Posté le 09-08-2004 à 17:35:18    

J'ai une classe contenant la méthode getNom();
Au lieu de l'appeler en faisant maClasse.getNom() je souhaiterai le faire en ayant le nom de la méthode dans un String.
 
Le contexte :
J'ai une application qui stocke des valeurs dans une base.
Les valeurs a lire sont défini dans un tableau a 2 entrée :
 String nomParametre, String nomMethodeQuiRetourneLeParametre
 
Exemple :
 String[][] maConfig = {{"nom", "getNom"}
                        {prenom", "getPrenom"};
 

Reply

Marsh Posté le 09-08-2004 à 17:35:18   

Reply

Marsh Posté le 09-08-2004 à 17:43:00    

molton a écrit :

J'ai une classe contenant la méthode getNom();
Au lieu de l'appeler en faisant maClasse.getNom() je souhaiterai le faire en ayant le nom de la méthode dans un String.
 
Le contexte :
J'ai une application qui stocke des valeurs dans une base.
Les valeurs a lire sont défini dans un tableau a 2 entrée :
 String nomParametre, String nomMethodeQuiRetourneLeParametre
 
Exemple :
 String[][] maConfig = {{"nom", "getNom"}
                        {prenom", "getPrenom"};


 
En faisant qqch comme ça  :

Code :
  1. Class cl = maClasse.getClass();
  2. Method m = cl.getMethod("getNom", null);
  3. String value = (String)m.invoke(maClasse, null);


 
A voir la Classe Method pour les exceptions levées par la méthode invoke().
 
Le deuxième paramètre de invoke() correspond normalement à la liste des paramètres à passer à la méthode invoquée. Si ça te jette avec ce paramètre à null essaye de passer :

Code :
  1. new Object[]{}


Message édité par pascal34 le 09-08-2004 à 17:44:43
Reply

Marsh Posté le 09-08-2004 à 17:49:45    


 
Ok je vais tester tout cela.
Merci ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed