有没有办法获取当前应用程序中的所有类。比如说你创建一个空白的应用程序,并希望看到所有存在的类,这将列出系统管理器,应用程序,uicomponent等。
答案 0 :(得分:3)
不幸的是,标准的Reflection API无法提供域中的类列表。
但是,AS3 Commons Bytecode library存在,它能够读取当前应用程序的字节码(或任何字节码)并解析它,从而提供对域中所有当前类的访问。 (还有一大堆其他很酷的东西)。
有一个示例显示如何执行here之后的操作。
使用此库的缺点是您必须在运行时重新加载和解析数据,这会产生显着的性能成本。
James Ward和Mike Labriola做了一些修改SWF加载器的工作,它将初始字节码加载到您的flex应用程序中,以便在启动时执行反射,从而减少了解析字节码两次的需要。
詹姆斯在博客中写了他的结果here。