的ActionScript 3/Flex的3 - 添加自定義事件類在ActionScript/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 (name="eventAction", type="SomeEvent")]
這讓我來實例化類,並通過這樣做,添加事件偵聽器:
var someClassInstance:SomeClass = new SomeClass();
someClassInstance.addEventListener(SomeEvent.EVENT_ACTION, mycallbackmethod);
有沒有更好的方法來做到這一點?把類的[Event]屬性放在後面跟着一些字符串文字的時候感覺是錯誤的。先謝謝您的幫助!