具有元数据[Bindable]关键字的基类是否会自动扩展EventDispatcher?

时间:2011-09-29 18:48:57

标签: flash actionscript-3 flex extends bindable

我遇到了一些奇怪的事情,但也许其他人之前遇到过这个。

我有一个基类,它不会扩展任何东西。我们称之为......

public class FooBar {
    //...
}

但是我想绑定它的每一个暴露属性:

[Bindable] public class FooBar {
    public var propertyOne:String;
    public var propertyTwo:String;
}

在调试/分析类时,我注意到每次更改属性时 - FooBar 的实例在其上调用“ .dispatchEvent()” 。但是我的课程没有扩展 EventDispatcher

是什么给出了?

这是否意味着,在编译时,我的类会自动扩展 EventDispatcher 或其他具有调度事件能力的类?如果我的类没有在其中声明“ addEventListener ”方法,我怎么能听 PropertyChangeEvent

1 个答案:

答案 0 :(得分:3)

当您使用[Bindable]元数据时,Flex编译器会为您生成大量代码。如果您想知道究竟发生了什么,请查看What does the Flex [Bindable] tag do?的答案以及在那里发布的链接。

回答你的问题:不,你的班级不会延长EventDispatcher。但是,编译器会更改您的类,以便它实现IEventDispatcher接口。生成的该接口实现使用EventDispatcher

的实例