在ActionScript3中如果要获得类对象引用,而又只知道类名,可以利用flash.utils.getDefinitionByName创建类实例:
上面的代码创建一个String类实例,如果想创建MovieClip,可以:
这种方式在自动化方面将非常有用。
package
... {
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
public class DynamicCall extends Sprite
...{
public function DynamicCall()
...{
var ClassReference:Class = getDefinitionByName("String") as Class;
var s:String = (new ClassReference("foo") as String);
trace(s);
}
}
}
... {
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
public class DynamicCall extends Sprite
...{
public function DynamicCall()
...{
var ClassReference:Class = getDefinitionByName("String") as Class;
var s:String = (new ClassReference("foo") as String);
trace(s);
}
}
}
上面的代码创建一个String类实例,如果想创建MovieClip,可以:
var ClassReference:Class
=
getDefinitionByName(
"
flash.display.MovieClip
"
) as Class;
这种方式在自动化方面将非常有用。