0

如何获得 actionscript 3 中的 getter 和 setter 函数的引用?

如果在调用上定义了一个方法,例如

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

我可以通过说blahthis.blah

如何获得参考

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

谢谢!

4

1 回答 1

2

原始回复:

不幸的是,您将无法将这些引用存储为函数。getter 和 setter 方法实际上是围绕您不应该做的想法而构建的,因此它们充当属性。

是否有理由需要专门引用这些函数?


我正在回复的评论:

我想根据自定义元数据标签动态添加外部接口方法,例如 [External]。对于常规方法,我能够做到这一点,但我也在尝试将其扩展到 getter/setter。为此,我需要动态获取对该函数的引用,以便我可以使用 apply 函数使用正确的 args 执行它。

我认为在这种情况下你最好使用多步骤方法。由于 getter 和 setter 用作属性而不是方法,因此测试它是否是属性然后直接为其赋值是有意义的。你能用这个吗:

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