是否可以在Actionscript 3中的运行时向对象添加成员变量?

adi*_*ian 2 apache-flex flash actionscript actionscript-3

我有一个sprite类型的对象.我想在sprite对象中添加一个新字段而不派生类.我不确定是否可能.

我试着这样做

 object.newField = 'value';
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我需要它,因为Api期望sprite类中的字段.

Lar*_*sjö 5

动态类的对象是可能的.

例如,Sprite不是动态类,而是MovieClip.这将失败,"1119:通过静态类型flash.display:Sprite的引用访问可能未定义的属性newField":

var s:Sprite = new Sprite();
s.newField = 'value';
Run Code Online (Sandbox Code Playgroud)

但这会奏效:

var m:MovieClip = new MovieClip();
m.newField = 'value';
Run Code Online (Sandbox Code Playgroud)