Пользовательские метаданные в AS3 / Flex? - PullRequest
11 голосов
/ 20 апреля 2011

Как создавать и работать с пользовательскими метаданными в ActionScript3 / Flex?

Ответы [ 2 ]

19 голосов
/ 20 апреля 2011

Существует два основных направления работы с метаданными в ActionScript во Flex:

  1. Работа во время выполнения с использованием рефлексии (или самоанализа в терминах Adobe).Вы можете найти документацию здесь .Есть несколько сторонних библиотек, которые предоставляют более удобный API отражения, такой как as3-commons-refle или API отражения в Parsley .
  2. Использование расширений Flex Compiler,введено начиная с версии Flex16 SDK 8165 (см. подробности ).См. Также соответствующее обсуждение и официальная документация .
14 голосов
/ 20 апреля 2011

Чтобы создать метаданные, просто используйте синтаксис в квадратных скобках в определении класса:

[ClassAttr]
public class ClassWithMetadata {
    [AttributeNoArgs]
    public var data:Object;

    [AttributeWithArgs(arg="value)]
    public var prop:Object;
}

Вызовите describeType(ClassWithMetadata), чтобы получить XML-описание вашего класса.Метаданные будут там, вы можете их анализировать и обрабатывать по своему усмотрению.
Чтобы компилятор не удалил ваши метаданные, добавьте аргумент компилятора -keep-as3-metadata Attribute для каждого имени атрибута, которое вы используете.Это можно сделать в настройках библиотеки или в каждом проекте, который использует метаданные.

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