2009-09-09 2 views
1

В ActionScript (AS3) как найти все классы, реализующие определенный интерфейс?Получить классы ActionScript, которые реализуют интерфейс

+0

Вы запрашиваете ссылки на классы API Flex/AIR или любые классы, которые вы создали или которые являются частью сторонних компонентов? Если это всего лишь API Flex и AIR, то он-лайн doc покрывает его для каждого интерфейса. http://livedocs.adobe.com/flex/3/langref/index.html –

+1

Что вы пытаетесь сделать? Учитывая IFoo, вы хотите создать список классов, которые его реализовали? Какую проблему ты пытаешься решить? Возможно, будет лучшее решение. – Glenn

+0

Если вы хотите использовать его в коде ur as3, u wud должен прочитать исходные файлы и проанализировать их самостоятельно. Если вы просто хотите узнать имена классов для ссылки, используйте ASDoc в проекте и перейдите на страницу соответствующего интерфейса. См. Например: http://livedocs.adobe.com/flex/3/langref/mx/core/IFlexAsset.html – Amarghosh

ответ

0

Я понял, как это сделать, и отправил demo on my blog. Он использует библиотеку getDefinitionNames, упомянутую в комментариях выше.

0

В терминах ООП вы никогда не захотите это сделать: основной характеристикой интерфейсов являются условия контракта. Любой класс может решить выполнить этот контракт и сказать «Я реализую этот интерфейс».

Любой код, который ссылается на экземпляр интерфейса, не заботится о том, какой класс фактически реализует его: им не нужно; это действительно крутая часть интерфейсов.

Но если вы хотите узнать, вычленить информацию «реализует IFred»

Приветствия

0

В Flash Builder я использую ctrl-h и ищу имена методов или фактическое имя интерфейса.

+0

Спасибо Райан, но я пытаюсь сделать это во время выполнения, а не время разработки. –

+0

Извините, должен был прочитать ваше сообщение в блоге ... Это действительно интересно. Спасибо, что поделился. – Ryan