Eskarina43
Messages postés2Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention15 mars 2004
-
15 mars 2004 à 14:09
Eskarina43
Messages postés2Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention15 mars 2004
-
15 mars 2004 à 23:20
J'ai un petit problème lorsque j'appelle le invoke en java!
Voici un bout du code:
Class myClass = this.getClass();
La méthode getTypeParam permet de récupéré le type de paramètre de la méthode.
Lors du getDeclaredMethod si un des paramètres est null ou est un sous-type(implémente ou hérite), on a une exception qui se lance car on ne retrouve pas la méthode qui reprends de telle paramètre.
Comment faire pour qu'il accepte des null ou des sous-types!
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 15 mars 2004 à 18:26
Salut,
tu dois indiquer le type des paramètres et non leur valeur. Par le type des paramètres il faut comprendre le nom de la classe.
par ex :
pour la méthode
public void maMethode(String s, Calendar cal){...}
tu dois spécifier un tableau :
Class[] paramType=new Class[]{String.class, Calendar.class}
Eskarina43
Messages postés2Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention15 mars 2004 15 mars 2004 à 23:20
C'est ce que je fais!
Dans la méthode getTypeParam() je récupère les classes des objets passé paramètres:
param[i].getClass()
Le problème est que quand c null il me renvoit un nullpointerException. Et qu'il ne reprends la bonne méthode que lorqu'on passe en paramètre la classe et non les sous-classes, c'est à dire celle qui hérite ou implémente la classe.
Cmme ma méthode invoke est appelé dans un contexte générique, je ne sais pas à l'avance de quels types seront les paramètres et quelle est la méthode qui sera invoqué.