Apache flex 使用getDefinitionByName获取类(单例)的静态实例
我有一个Apache flex 使用getDefinitionByName获取类(单例)的静态实例,apache-flex,actionscript-3,oop,singleton,Apache Flex,Actionscript 3,Oop,Singleton,我有一个ManagerClass,里面有一个单例实现,我通过调用ManagerClass.getInstance()来获取实例 我可以通过将类名作为字符串来获得相同的实例吗? 我试过这样的方法: var theInstance:* = getDefinitionByName("ManagerClass").getInstance as Class; theInstance.doTrace(); // I get a 1009 error here 确定为什么不创建一个单例管理器(类似于Flex
ManagerClass
,里面有一个单例实现,我通过调用ManagerClass.getInstance()
来获取实例
我可以通过将类名作为字符串来获得相同的实例吗?
我试过这样的方法:
var theInstance:* = getDefinitionByName("ManagerClass").getInstance as Class;
theInstance.doTrace(); // I get a 1009 error here
确定为什么不创建一个单例管理器(类似于Flex-core mx.core.Singleton类)来注册这些类,并在它们为null时处理它们 与此类似:
嗯-我在处理单例,因为我正在处理的应用程序是用cairngorm编写的,其中有很多东西必须是单例。 至于为什么我需要“传递类名”而不是硬编码它们——正是因为这个原因——我不想硬编码任何东西。该应用程序已经开发了5年,现在不是将其切换到机器人腿等的好时机
哈哈-是的,你是对的-我忘记了getInstance后面的()了。一定是睡眠不足。。。现在它工作了 我不知道为什么你们每个人都想这样做。将getInstance()与单例一起使用是很自然的事情,这样设置是有原因的。你有什么理由想带着这个走出禁区吗?为什么不按常规方式执行呢?因为我需要引用多个单例,并且需要能够传入类名,而不是硬编码。您是否忘记了getInstance()中的括号()?等等,什么?你需要“传递类名”而不是硬编码?您正在创建动态单例吗?我认为你在试图找到一个不存在的问题的解决方案。你这么做想解决什么问题?重点是什么?还应该提到的是,在Flex应用程序中使用单例模式是不可取的。您确实缺少了一个n(),应该删除类
@为什么单身汉会皱眉?