Étendez flash.utils.Proxy
et utilisez l'espace de noms flash.utils.flash_proxy
. Il existe des méthodes similaires à __get
, __set
et des méthodes pour les méthodes de suppression. Par exemple, la méthode __call
est:
override flash_proxy function callProperty(name:*, ...rest):*;
donc si une classe qui étend Proxy, vous faites:
var test:MyObject = new MyObject();
test.myMethodThatIsntDefined("param");
alors callProperty sera appelé et le nom sera réglé sur « myMethodThatIsntDefined » et " param "sera dans le tableau ... repos.
Le lien vers l'asdoc a une implémentation simple qui devrait vous aider à démarrer. J'utilise généralement la classe Proxy pour quelque chose comme une API. Par exemple, à l'époque, j'avais un wrapper API Flickr qui traduisait le nom de l'appel de fonction en un nom de méthode API dans l'API Flickr. Quelque chose comme:
flickr.galleriesGetPhotos();
et dans le callProperty je partagerai le premier mot pour obtenir le nom de l'API « de flickr.galleries.get_photos ». Les noms étaient différents à l'époque, je pense.