字符串的类实例化

时间:2010-07-06 14:52:28

标签: actionscript-3

是否可以使用字符串“Class”并使用它来在我的应用程序中实例化一个真正的A类?

4 个答案:

答案 0 :(得分:4)

看一下flash.utils.getDefinitionByName。您应该能够使用它从类名的字符串中获取类对象。

答案 1 :(得分:4)

您可以使用flash.utils

中的getDefinitionByName
var ClassReference:Class = getDefinitionByName("ClassA") as Class;

您将需要该名称的完整路径,例如说mypackage.stuff.ClassA该呼叫需要

var ClassReference:Class = getDefinitionByName("mypackage.stuff.ClassA") as Class;
var instance:Object = new ClassReference();

然后使用可以使用instance来执行您的方法

instance.methodname();

请记住,如果您想将其添加到展示广告列表,则必须将其投放为DisplayObject

addChild(DisplayObject(instance));

答案 2 :(得分:0)

您可以使用

Eval("new "+myString+"()");

甚至可能

new Eval(myString)();

但我不确定Actionscript是否支持第二个。

答案 3 :(得分:0)

现在我可以逐个库实例化图像,这是我的代码!

import flash.display.Bitmap;
import flash.display.BitmapData;
var ClassReference:Class = getDefinitionByName("my0002") as Class;
var instance:BitmapData = new ClassReference();
var myb:Bitmap =new Bitmap (instance)
this.addChild (myb)