关于FLEX反射
问 var classRefrence:Class = getDefinitionByName(str) as Class; 得到CLASS后。怎么才能通过方法名称,来执行该方法。前提是我不知道要执行的是什么方法,只能通过程序运行后,传递方法名字符串。通过传递过来的字符串利用反射动态执行方法
[解决办法]
给你写了一个简单的代码,不知道是否符合你的要求
var loader:Loader = new Loader();loader.load(new URLRequest("test.swf"));loader.contentLoaderInfo.addEventListener(Event.COMPLETE,myevt);function myevt(evt:Event){ var ClassRef:Class = getClass("n2"); var greeter:MovieClip = new ClassRef(); addChild(greeter); greeter.x = 100; greeter.y = 200;}function getClass(className:String):Class{ return loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;}
[解决办法]
查看下官方的APi 好像没有类似java的反射的东西。
你这里用class 可以换成Object.方法名 就可以调用相应的方法名。
[解决办法]
这个就有心无力了。呵呵。再看看其他人的回答