私は私はあなたが文字列var fn:String = "wat"
としてゲッターの名前を保存してリターンを取得するために、後でそれを使用することができますAS3の変数にゲッター関数を割り当てることはできますか?
function get wat():int {
...
}
var mmmh:Function=wat; // this (tries to) assign the wat returned value
私は私はあなたが文字列var fn:String = "wat"
としてゲッターの名前を保存してリターンを取得するために、後でそれを使用することができますAS3の変数にゲッター関数を割り当てることはできますか?
function get wat():int {
...
}
var mmmh:Function=wat; // this (tries to) assign the wat returned value
まあ、私が知っている唯一の方法は、arguments.callee
でそれらの内部からゲッター/セッターの参照を取得しています。しかしそれはむしろ奇妙なことです。 :)
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.getTimer;
public class GetterTest extends Sprite
{
private var getterRef:Function;
private var setterRef:Function;
private var testValue:int = 0;
public function GetterTest()
{
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
private function onMouseDown(event:Event):void
{
if (getterRef != null) {
setterRef(getTimer());
trace("references: test = ", getterRef());
} else {
test = getTimer();
trace("direct: test = ", test);
}
}
private function get test():int
{
trace("TEST! getter");
getterRef = arguments.callee;
return testValue;
}
private function set test(value:int):void
{
trace("TEST! setter");
setterRef = arguments.callee;
testValue = value;
}
}
}
上記の作業中、あなたの質問に対する正解は「しない」と思います。 :)
、ほとんどが最後の文章のために受け入れられます:O –
のような何かをする方法がわからない
function yea():int {
...
}
var cool:Function=yea;
を行うことができますメソッドの値はmyObjectFromClass[fn]
です。
達成しようとしていることがわかりません。
ゲッターへの参照を保持したいだけなら、クロージャー関数でラップすることができます。
var mmh:Function = function():int { return wat; };
あなたの目的が何かを説明すれば、おそらく誰かがあなたに回避策を与えるでしょう... – goliatone