Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Reflection su un metodo di un campo

    E' da giorni che impazzisco su questa cosa e non riesco a capire come si fa (sempre se si può fare). Allora ho una cosa del genere:

    Codice PHP:
    public interface Interfaccia{
                  abstract public 
    void esegui();
    }

    public 
    void azione implements Interfaccia{

                  public 
    void esegui(){
                                .
                                .
                                .
                  }
    }

    public class 
    oggetto {
                  public 
    Interfaccia prova;

                  public 
    oggetto(){
                                
    prova = new azione();
                  }

    Ora quello che devo fare io è:
    avendo un oggetto già istanziato, come faccio a richiamare il metodo esegui del campo prova della classe oggetto?

    Ho provato richiamando prima il campo prova con getField ma se faccio il getMethod su questo non mi da il metodo esegui. Come posso fare? Specialmente: si può fare? Grazie in anticipo.

  2. #2
    Detta cosi non ha molto senso, suppongo che il codice postato sia una semplificazione di quello reale, altrimenti di dovrei rispondere perché farlo con la reflection e non con new Oggetto().prova.esegui();
    Cmq, la stessa operazione che vedi sopra "tradotta" con la reflection si fa cosi:
    codice:
     Oggetto obj = new Oggetto();
     Field fieldProva = obj.getClass().getField("prova");
     Interfaccia interfaccia = (Interfaccia) fieldProva.get(obj);
     interfaccia.esegui();

  3. #3
    Grazie mille *.* non so come avrei fatto senza di te ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.