ActionScript 3 / Flex 3 - Добавление пользовательских событий в класс
Скажите, у меня есть следующее событие:
import flash.events.Event;
public class SomeEvent extends Event
{
public static const EVENT_ACTION:String = "eventAction";
public function SomeEvent(type:String) {
super(type);
}
override public function clone():Event {
return new SomeEvent(this.type);
}
}
... и следующий класс:
public class SomeClass extends EventDispatcher
{
public function someFunction():void
{
dispatchEvent(new SomeEvent("eventAction"));
}
}
Как лучше всего показать, что SomeClass выбрасывает SomeEvent? Единственный способ, который я нашел, - это декорировать SomeClass с атрибутом [Event] следующим образом:
[Event (name="eventAction", type="SomeEvent")]
Это позволяет мне создать экземпляр класса и добавить прослушиватель событий, выполнив следующее:
var someClassInstance:SomeClass = new SomeClass();
someClassInstance.addEventListener(SomeEvent.EVENT_ACTION, mycallbackmethod);
Есть ли лучший способ сделать это? Помещение атрибута [Event] в класс с последующими строковыми литералами просто кажется ... неправильным. Заранее спасибо за помощь!