Flex 自定义Event 低级错误一例: 未重写Clone方法, 导致类型转换失败

Categories: Flex; Tagged with: ; @ December 10th, 2010 13:59

在Event监听并转发过程中, 因为没用重写Clone方法, 导致实例被Clone为普通Event实例.

情况是这样的:
自定义Event: EventTest: 继承Event, 增加了一些属性, 重写了toString(), 未重写Clone.

出现问题: 创建EventTest实例后, 多次监听并转发, 在监听, 转发过程中, Event实例对象被Clone, 因为未重写Clone方法, 会通过Event类的Clone方法进行复制, 仅会复制其EventType, 且类型为Event.

形象的说就是: eventTest –> 被监听到, 准发 ->框架Clone eventTest(EventTest类中未重写Clone方法, 于是eventTest被克隆为一个普通Event) –> 再次监听, Event类型不吻合, 报错.

公司代码规范中严格规定了自定义Event必须及时重写Clone与toString方法, 写了这么久, 我才领悟到原因. 败了



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.