使用getDefinitionByName获取类的静态实例(单例)

时间:2011-03-25 21:35:52

标签: flex actionscript-3 oop singleton

我有一个ManagerClass里面有一个Singleton实现,我通过调用ManagerClass.getInstance()来获取实例。

我可以通过将类名作为字符串来获得相同的实例吗? 我尝试过类似的东西:

var theInstance:* = getDefinitionByName("ManagerClass").getInstance as Class;
theInstance.doTrace(); // I get a 1009 error here

2 个答案:

答案 0 :(得分:1)

好吧 - 我正在处理单身人士,因为我正在研究的应用程序是用cairngorm编写的,而且很多东西都必须是单例。 关于为什么我需要“传递类名”而不是硬编码 - 正是出于这个原因 - 我不想硬编码任何东西。这个应用程序是5年的开发,现在不是很好的时间到将它切换到RobotLegs等。

哈哈 - 是的,你是对的 - 我在getInstance之后忘记了()。一定是睡眠不足......现在它有效!!!!

答案 1 :(得分:0)

为什么不创建一个Singleton管理器(类似于Flex核心mx.core.Singleton类)来注册这些类并处理它们是否为null。

与此类似:

http://segfaultlabs.com/devlogs/overriding-default-flexair-mxmanagers-implementations