据我了解,ActionScript中绑定变量是通过自动触发变量更改事件来实现的。关于这个问题,我有几个疑问:
感谢Christophe Herreman的启示性答案。然而,我对我的上述问题还有一些跟进。我想知道是否有人能够填补我的空白(我试图将这些问题编号为4、5、6,但由于某些原因它们显示为1、2、3!)
- 如果该类没有显式地扩展EventDispatcher会发生什么?编译器是否会在某种程度上使用一些魔术使该类成为EventDispatcher?
- 如何绑定静态变量?是否会向该类添加某种隐式的静态addEventListener()函数?
- 我注意到你可以在静态变量上放置[Bindable],但不能在静态函数上放置,为什么?
感谢Christophe Herreman的启示性答案。然而,我对我的上述问题还有一些跟进。我想知道是否有人能够填补我的空白(我试图将这些问题编号为4、5、6,但由于某些原因它们显示为1、2、3!)
我已经在编译器中添加了-keep选项,并查看了生成的绑定代码。有人能解释一下如何应用这段代码吗?编译器似乎为每个类生成一个名为BindableProperty的类,其中包含getter和setter。这是如何折叠到我编写的类中的?这个功能看起来有点像C#中的部分类,这是纯粹的后台编译器功能,还是我自己可以使用的东西?
BindableProperty类仍然没有显式实现EventDispatcher,生成的类如何实现事件分派?
在问题3中,我问到绑定到静态函数,但实际上我指的是静态getter和setter函数。这似乎是不允许的。