当我使用内置EventDispatcher
代码完成时,将显示该类触发的所有事件的列表,例如:
我怎样才能为我自己的类实现相同的目标,例如我可以像这样扩展事件类:
import flash.events.Event;
public class MyEvent extends Event
{
//Event Types
public static const FIRST_EVENT:String = 'firstEvent';
public static const SECOND_EVENT:String = 'secondEvent';
//Construct
public function MyEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
}
然后我可能会写一个EventDispatcher
这样的:
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;
public class MyEventDispatcher extends EventDispatcher
{
public function foo() :void{
dispatchEvent(new MyEvent(MyEvent.FIRST_EVENT));
}
public function bar() :void{
dispatchEvent(new MyEvent(MyEvent.SECOND_EVENT));
}
}
如何使我的事件出现在代码完成框中?
我知道我可以在类上方使用元数据,如下所示:
[Event(name="firstEvent", type="my.MyEvent")]
[Event(name="secondEvent", type="my.MyEvent")]
但这仅对 MXML 有好处,代码补全只知道字符串值 ( "firstEvent"
),而不知道 const ( MyEvent.FIRST_EVENT
)。
我正在使用 Flash Builder 4.7。