在ActionScript 3中如果我们只知道类名称但又想获得一个类的引用的话,那么我们可以使用flash.utils.getDefinitionByNam创建一个类的实例…
在ActionScript 3中如果我们只知道类名称但又想获得一个类的引用的话,那么我们可以使用flash.utils.getDefinitionByNam创建一个类的实例。
例如:
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);
}
}
}
以上代码根据类名称“String”创建一个String类的实例,getDefinitionByName需要完整类路径,所以如果我们想创建MovieClip的实例的话,我们需要提供完整的类路径:
var ClassReference:Class = getDefinitionByName("flash.display.MovieClip") as Class;
这样的方法虽然有些旁门左道,但却非常有用!
O comments at "ActionScript 3 : 通过类名称获取类引用"
Comment Now!