0

Proxy クラスを拡張するクラスがあり、次のように静的に定義されたメンバー変数がありますnum

public dynamic class TestProxy extends Proxy
{
 private var num:Number = 100;

 public function TestProxy()
 {
  super();
 }

 override flash_proxy function getProperty(name:*):*
 {
  trace("***** "+name);
 }
}

アクセスしようとしたときに getProperty() が呼び出されるようにしますnum。まだ存在しないフィールドには機能しますが、定義済みのフィールドには機能しません。

これを実現する方法はありますか?どういうわけか動的に取り除くことはできますnumか? または、他の何か?

4

2 に答える 2

0

事前定義されている場合、getter/setter メソッドとプライベート var へのプロキシ アクセスをそのように使用できないのはなぜですか?

private var _num:Number = 100;
//....
function get num () : Number { }
function set num (val : Number) : void { }
于 2011-01-13T20:27:10.777 に答える
0

Proxyクラスのプライベートな定義済みプロパティにアクセスする方法はありません。アクセスしたい場合は公開するか、変数の名前を変更してからnum呼び出しに応答します。

public dynamic class TestProxy extends Proxy
{
    private var _num:Number = 100;

    public function TestProxy()
    {
        super();
    }

    override flash_proxy function getProperty(name:*):*
    {
        if (name == "num")
        {
            return _num;
        }
    }
}
于 2011-01-13T21:06:38.410 に答える