1

当我使用内置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。

4

0 回答 0