Получение статического экземпляра класса (singleton) с использованием getDefinitionByName - PullRequest
0 голосов
/ 26 марта 2011

У меня есть ManagerClass с реализацией Singleton внутри, я получаю экземпляр, вызывая ManagerClass.getInstance().

Можно ли получить тот же экземпляр, просто указав имя класса в виде строки?Я пробовал что-то вроде:

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

Ответы [ 2 ]

1 голос
/ 26 марта 2011

хорошо - я имею дело с синглетонами, потому что приложение, над которым я работаю, написано на cairngorm, и целая куча вещей должна быть синглетонами в нем. в отношении того, почему мне нужно «передавать имена классов» вместо их жесткого кодирования - именно по этой причине - я не хочу жестко кодировать что-либо в этом. Это приложение находится в разработке 5 лет, и сейчас не будет подходящего времени переключите его на RobotLegs и тому подобное.

хаха - да, вы правы - я забыл () после getInstance. Должно быть недостаток сна ... Теперь это работает !!!!

0 голосов
/ 26 марта 2011

Конечно, почему бы не создать менеджер Singleton (подобный классу ядра Flex mx.core.Singleton), который регистрирует эти классы и обрабатывает их, если они нулевые.

Аналогично здесь:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...