【问题标题】:Referencing getter/setter functions in actionscript 3在 actionscript 3 中引用 getter/setter 函数
【发布时间】:2009-09-25 18:36:10
【问题描述】:

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

如果在调用中定义了方法,例如

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

我可以通过说blahthis.blah 来获得它的参考

如何获得参考

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

谢谢!

【问题讨论】:

    标签: actionscript-3 reference setter getter


    【解决方案1】:

    原始回复:

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

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


    我正在回复的评论:

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

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

    if( foo.blah2 is Function )
    {
        foo.blah2.apply( foo, arr );
    }
    else
    {
        foo.blah2 = arr[ 0 ];
    }
    

    【讨论】:

    • 我想根据自定义元数据标签动态添加外部接口方法,例如[外部的]。对于常规方法,我能够做到这一点,但我也在尝试将其扩展到 getter/setter。为此,我需要动态获取对该函数的引用,以便可以使用 apply 函数使用正确的 args 执行它。
    • 吹毛求疵:如果有public function get blah():Function 的属性,这段代码会产生不希望的结果,因为存储在blah 下的函数将被调用。
    猜你喜欢
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多