0

actionscript 3 の getter 関数と setter 関数の参照を取得するにはどうすればよいですか?

メソッドが呼び出しで定義されている場合、たとえば

public function blah():String { ...}

blahまたはと言うだけで参照を取得できますthis.blah

への参照を取得する方法

public function get blah2():String {}
public function set blah2(b:String):void {}

ありがとう!

4

1 に答える 1

2

元の応答:

残念ながら、それらへの参照を関数として保存することはできません。getter メソッドと setter メソッドは、実際にはできないはずであるという考えに基づいて構築されているため、プロパティとして機能します。

関数を具体的に参照する必要がある理由はありますか?


私が返信しているコメント:

[External] などのカスタム メタデータ タグに基づいて、外部インターフェイス メソッドを動的に追加したいと考えています。通常のメソッドでこれを行うことができましたが、これをゲッター/セッターにも拡張しようとしています。これを行うには、関数への参照を動的に取得する必要があるため、適用関数を使用して適切な引数で実行できます。

その場合は、多段階アプローチを使用する方がよいと思います。ゲッターとセッターはメソッドではなくプロパティとして機能するため、それがプロパティであるかどうかをテストしてから、単純に値を直接割り当てることは理にかなっています。これを使用できますか:

if( foo.blah2 is Function )
{
    foo.blah2.apply( foo, arr );
}
else
{
    foo.blah2 = arr[ 0 ];
}
于 2009-09-25T18:54:12.323 に答える