Можно ли добавлять собственные Metadata Tags в Action Script 3.0, как например [Event(name="", type="")]?

Привет, всем, читающим этот вопрос. Начну сразу с примера. Итак у меня есть класс констант:

package
{
public class GameEvent
{
static public const OPEN:String = "on open";
}
}


И есть подопытный класс, в который я добавляю Metadata Tag:

package
{
import flash.events.EventDispatcher;

[Event(name="on open", type="GameEvent")]

public class Special extends EventDispatcher
{
public function Special()
{
}
}
}


Теперь, я, вообщем-то, в главном классе проекта (хотя, не важно где) создаю экземпляр класса Special и вызываю в нем функцию addEventListener:

var special:Special;
special.addEventListener( <--здесь, при вызове контекстного меню, я увижу константы событий, в том числе и мое GameEvent.Open.

fe6d698b07.png

Теперь, собственно вопрос, можно ли этот фокус провернуть не с функцией addEventListener, а, скажем, с моей собственной в собственном классе, чтоб я мог видеть свои константы(не связанные с EventDispatcher) в выпадающем списке. Например, так:

var simpleColor:SimpleColor = new SimpleColor();
simpleColor.setType( <----ColorType.GREEN
ColorType.RED
ColorType.BLUE
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
olexandr17
@olexandr17
Angular 2+
Добавлять собственные метатеги можно, но придется самому делать и обработку этих метатегов. При помощи рефлексии выискивать эти теги и соответствующим образом обрабатывать их.
А вот подсказки для addEventListener реализованы на уровне редактора кода, поскольку метатег Event является стандартным. В принципе, можно, конечно написать плагин для вашего редактора, чтобы он обрабатывал ваши метатеги, но вряд ли оно того стоит.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы