2010-11-01 11 views
0

Étant donné une instance de MyClass, je souhaite être averti lorsque quelqu'un appelle une méthode spécifique.Est-il possible d'écouter une méthode call in action script 3?

exemple:

package bar; 
{ 
    public class MyClass { 

     private var foo:int; 

     public function MyClass() { foo = 2; } 
     public function getFoo():int { return foo; } 
    } 
} 

donc donné une instance de MyClass (var instance = new MyClass()) je veux être informé chaque fois getFoo est appelé. J'ai essayé d'utiliser des classes de réflexion + annotations + dynamiques, pour trouver que dans AS3 vous ne pouvez pas changer les méthodes de sceau (méthodes définies dans la classe). Je me demandais si je peux être inscrit à un événement afin d'être averti lorsque la méthode est appelée.

Répondre

1

Il n'y a pas d'événement pour chaque appel de méthode, et MyClass n'est même pas EventDispatcher. Je suppose que vous ne pouvez pas modifier la définition de MyClass, sinon ce serait trop simple.

+0

Merci pour la réponse !! – msemelman

+0

BTW, langage lame AS3. = (persister est si difficile – msemelman

0

Vous pouvez créer votre propre classe d'événements personnalisés et envoyer vos événements personnalisés à partir de ces méthodes lorsqu'ils sont renvoyés.

éditer: oh, je viens de réaliser que vous essayez d'obtenir des notifications d'événements d'une classe finale. Dans ce cas, vous ne pouvez pas envoyer vos propres événements personnalisés.