0

これに特別な名前があるのか​​ 、それとも可能であるのかはわかりません。このコードを検討してください。

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";

オブジェクトのプロパティを作成/変更すると有効になるグローバルセッター関数のように機能させたいです。同様の方法で get 関数を作成するつもりです。

4

1 に答える 1

2

Proxyクラスを拡張してオーバーライドする必要がありますsetProperty

override flash_proxy function setProperty(_key:*, _value:*):void {
    this[_key] = _value;
    trace(this[_key] + " property added.");
}
于 2013-05-24T20:28:19.290 に答える