Problème avec Method pour Introspection
Bonsoir,
j'ai un petit problème que je n'arrive pas à résoudre et c'est pour cela que je me tourne vers vous. Voilà, je veux utiliser l'introspection dans un de mes programmes et pour celà j'ai regardé sur le net pour savoir comment ça fonctionne. Après avoir compris (enfin je pense), j'ai réaliser ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
private Method fonction;
public ToucheFonctionUnaire(String etiquette, String nomFonction, Uc uc){
this.etiquette = etiquette;
this.uc = uc;
this.fonction = this.uc.getClass().getMethod(nomFonction,null);
}
public void activeToi(){
this.uc.execOpUnaire(this.fonction);
} |
Mon constructeur doit me permettre de récupérer une référence sur une fonction qui se trouve dans une de mes autres classes (Uc).
Ensuite la fonction activeToi permet d'envoyer à la fonction execOpUnaire ,qui se trouve dans Uc, la reference à la methode qui porte le meme non que la variable nomFonction.
Voici le bout de code de la fonction execOpUnaire :
Code:
1 2 3 4 5
|
public void execOpUnaire(Method op){
op.invoke(null,this.ecran.valeur());
this.ecran.recouvrir();
} |
Ensuite à la compilation, java me retourne cette erreur à chaque fois que je déclare une variable de type Method :
Code:
1 2 3 4 5
|
ToucheFonctionBinaire.java:3: cannot find symbol
symbol : class Method
location: class ToucheFonctionBinaire
private Method m; |
J'aimerais donc savoir si le principe de l'introspection est correct et pourquoi java me donne cette erreur alors que dans la plupart des tuto que j'ai consulté ça fonctionne (à priori) bien.
Note : dans les classes où se trouvent ces fonctions j'ai fais les import de java.lang.* et java.util.*
Bonne soirée à tous :king: