Actionscript 3 AS3中的动态类:侦听属性创建?

Actionscript 3 AS3中的动态类:侦听属性创建?,actionscript-3,Actionscript 3,我目前正在从事一个项目,该项目涉及数组类的重新实现。 出于兼容性原因,这个对象需要是一个数组,同时我还需要控制写入的内容 我似乎找不到任何方法来检查AS3中动态对象内部的属性创建。将Event.ADDED\u添加到\u阶段,但添加了ClassEvent.PROPERTY\u 我覆盖了push、splice等方法,但我无法控制直接赋值:MyArray[I]= 这样的事情可能吗 当然,我可以在其他地方进行某种验证,但这将涉及访问我无法修改的部分代码 谢谢你的时间 我不确定是否完全了解您,但您可能正在

我目前正在从事一个项目,该项目涉及数组类的重新实现。 出于兼容性原因,这个对象需要是一个数组,同时我还需要控制写入的内容

我似乎找不到任何方法来检查AS3中动态对象内部的属性创建。将Event.ADDED\u添加到\u阶段,但添加了ClassEvent.PROPERTY\u

我覆盖了push、splice等方法,但我无法控制直接赋值:MyArray[I]=

这样的事情可能吗

当然,我可以在其他地方进行某种验证,但这将涉及访问我无法修改的部分代码


谢谢你的时间

我不确定是否完全了解您,但您可能正在寻找代理类:

底部的示例显示了如何覆盖直接分配:

override flash_proxy function setProperty(name:*, value:*):void {
    _item[name] = value;
}

使用此功能,您将能够调度一个自定义事件,该事件将在项目添加到ProxyArray时随时触发

是的,这是一种方法。不过,请记住,代理类是黑魔法。每件事都要经过它的方法,所以要小心引用
flash\u proxy
方法内部的实例变量或方法。这正是我要找的!非常感谢,你救了我一天:)@TK Kocheran:我会用代理做一些测试,但这是否意味着类内属性声明(public var boo:…)也会使用这些方法?等等所有继承的属性?我不确定这是否有意义,但如果是真的,几乎不可能区分这两种情况。。