2010-09-30 5 views
3

Comment obtenir la liste de toutes les méthodes d'un objet? Je sais que je peux obtenir la classe d'objets de cette manière:Comment lister toutes les méthodes d'un objet dans ActionScript 3?

var className:String = flash.utils.getQualifiedClassName(myObject); 
var objClass:Class = flash.utils.getDefinitionByName(className) as Class; 

Il me donne un prototype de classe, mais et ne peut rien faire avec ... En JavaScript je peux itérer sur le prototype d'un objet pour obtenir ses propriétés et méthodes.
Est-ce possible dans ActionScript 3? Avez-vous une bonne source de métaprogrammation/réflexion sur ActionScript 3?

Merci!

Répondre

8

Vérifiez la fonction describeType.

+0

Merci, mais j'ai besoin d'un moyen d'appeler les méthodes. Ce decribeType ne fait que sérialiser l'objet en XML. –

+2

@Eduardo. Oui, mais si vous avez l'objet et que vous avez le nom de la méthode, vous pouvez l'appeler. Avec la même syntaxe que dans JS: 'object [méthode] (paramètre);'. –

+0

La partie XML est un peu moche mais ça marche. Merci –

1

Avez-vous essayé d'utiliser les opérateurs (pour ... dans ...) une fois que vous avez reçu la référence de classe ou l'instance d'objet? Ça devrait marcher.

+3

Cela ne fonctionnera que pour les propriétés dynamiques. –

0

En supposant que vous utilisez FP 11+, il s'agit d'un moyen plus simple de lister toutes les fonctions d'une classe dans AS3.

var req = new URLRequest(''); 
trace(JSON.stringify(req)) 

Il fonctionne également pour les objets de données.

Questions connexes