2009-01-16 39 views
2

的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]屬性放在後面跟着一些字符串文字的時候感覺是錯誤的。先謝謝您的幫助!

回答

0

我知道,我也有同感;使用字符串文字似乎有點不對。但就我所知,從我所見過的所有文檔以及我參加過的講座以及閱讀Flex源代碼等等,似乎確實是這樣做的正確方法。

相關問題