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 :
- Class cl = maClasse.getClass();
- Method m = cl.getMethod("getNom", null);
- 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 :
Message édité par pascal34 le 09-08-2004 à 17:44:43