Метаданные события: Использование статической переменной для атрибута «имя»? - PullRequest
7 голосов
/ 25 июня 2011

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

<fx:Metadata>
    [Event(name="eventName", type="MyEvent")]
</fx:Metadata>

В Flex / Actionscript рекомендуется определять статические переменные, которые определяют имена событий, например:

public class MyEvent extends Event
{
    public static const EVENT_NAME:String = "eventName";
    // Other stuff..
}

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

<fx:Metadata>
    [Event(name="{MyEvent.EVENT_NAME}", type="MyEvent")]
</fx:Metadata>

Я просто не осведомлен о правильном синтаксисе, чтобы сделать это, или это невозможно? Похоже, он просто просит трудно найти ошибки, если кто-то решит изменить const, так как он здесь не сильно напечатан. Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 25 июня 2011

Плохая новость - это невозможно :( Я мечтаю об этой возможности, но…

1 голос
/ 25 июня 2011

да, это невозможно сделать, но ничто не мешает вам выполнить собственную проверку во время выполнения. метаданные можно получить, вызвав describeType() в классе (в данном случае). парсите xml и сверяйте значения с вашими минусами. если есть проблема, выведите ошибку или выведите трассировку. это не идеально, но это даст вам некоторую безопасность

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