Во Flex 4 есть способ получить все классы в домене? - PullRequest
1 голос
/ 17 октября 2011

Есть ли способ получить все классы в текущем приложении. Скажем, например, что вы создаете пустое приложение и хотите увидеть все существующие классы, это будет список системного администратора, приложения, пользовательского компонента и т. Д.

1 Ответ

3 голосов
/ 17 октября 2011

К сожалению, список классов в домене недоступен стандартным API Reflection.

Тем не менее, существует библиотека байт-кода *1003* AS3 Commons, которая может считывать байт-код текущего приложения (или любой байт-код в этом отношении) и анализировать его, предоставляя доступ ко всем текущим классам в домен. (Вместе с целой кучей других интересных вещей).

Вот пример, показывающий, как делать то, что вам нужно здесь .

Недостатком использования этой библиотеки является то, что вам необходимо повторно загружать и анализировать данные во время выполнения, что приводит к значительным потерям производительности.

Джеймс Уорд и Майк Лабриола проделали некоторую работу по изменению загрузчиков SWF, которые загружают начальный байт-код в ваше гибкое приложение, чтобы отражение выполнялось при запуске, уменьшая необходимость разбора байт-кода дважды.

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

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