글쎄, 난 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;
}
}
}
위 작업이 수행되는 동안 질문에 대한 정답은 "하지 말 것"이라고 생각합니다. :)
당신이 당신의 목적이 무엇인지를 설명한다면 어쩌면 누군가가 당신에게 해결 방법을 줄 것입니다. – goliatone