J'essaie de parcourir chacun des membres d'un objet. Pour chaque membre, je vérifie pour voir si c'est une fonction ou pas. Si c'est une fonction, je veux en obtenir le nom et effectuer une logique basée sur le nom de la fonction. Je ne sais pas si c'est encore possible. Est-ce? Des conseils?Actionscript 3 introspection - noms de fonctions
exemple:
var mems: Object = getMemberNames(obj, true);
for each(mem: Object in members) {
if(!(mem is Function))
continue;
var func: Function = Function(mem);
//I want something like this:
if(func.getName().startsWith("xxxx")) {
func.call(...);
}
}
Je vais avoir du mal à trouver beaucoup à faire cela. Merci pour l'aide.
Vous devez également éviter de mettre l'objet que vous vérifiez, que la coulée est très coûteux, en utilisant quelque chose comme « est » ou « comme » - comme cet exemple le fait , c'est beaucoup mieux. – quoo
Corrigez-moi si je me trompe, mais je ne pense pas que vous pouvez lancer à la fonction. –
@Tyler Egeto: Bien sûr que vous pouvez, vous ne pouvez pas l'appeler immédiatement si je crois, comme ça: Fonction (o [nom])(), vous devez le stocker: var foo: Fonction = Fonction (o [nom]) foo(); –