获取/设置属性时AS3额外工作

时间:2013-05-24 20:17:48

标签: actionscript-3 properties setter getter

我不知道这是否有特殊名称,甚至可能。考虑一下这段代码;

public dynamic class Foo {
    public function set (_key:String,_value:*):void {
        this[_key] = _value;
        trace(this[_key] + " property added.");
    }
}

跟踪代表了使用属性键和/或值完成的一些额外工作。现在我们可以使用set函数创建任何属性。

myFoo.set("prop1",14);
myFoo.set("prop2","test");
etc...

有没有办法修改此功能,以便它对任何属性生效?

myFoo.prop1=14;
myFoo.prop2="test";

我希望它像一个全局的setter函数,它在你创建/修改对象的任何属性时生效。我打算以类似的方式创建一个get函数。

1 个答案:

答案 0 :(得分:2)

您需要扩展Proxy类并覆盖setProperty

override flash_proxy function setProperty(_key:*, _value:*):void {
    this[_key] = _value;
    trace(this[_key] + " property added.");
}