flex类注册import
一问题:flex在编译期是按需导入类的,如果仅仅使用import,而没有申明则在编译时不会导入此类,这就导致我们使用反射的一个问题:找不到对象。
二原因分析:使用反射时对象名称使用字符串表示,编译器在编译期不会识别。
三解决办法:
1)最常用的方法:import并且声明一个引用
import reflect.Obj01;
private var o:Obj01;
2)建立一个注册类:
package reflect{public class RegisterClass{public function RegisterClass(){}private static var al:Array=new Array();public static function register(o:Class):void{RegisterClass.al.push(o);}}}
?使用:
RegisterClass.register(reflect.Obj01);
使用时可以放在初始化系统参数的方法中执行;我是将它和registerClassAlias方法包装在一起的