有没有办法将另一个类的成员函数作为参数传递给as3中的函数?

时间:2011-05-26 19:49:48

标签: flex actionscript-3 actionscript flex3

例如,我在A类中有一个函数:

    private function functionA(f:Function):void
    {
        var objB:B;
        objB.f();
    }

有没有办法将类B的非静态公共成员函数作为参数传递给functionA? (当然,来自A级内部) 我知道c ++中存在这样的语法,但不确定你是否可以在flex / as3

中执行此操作

1 个答案:

答案 0 :(得分:8)

不确定

var a : A = new A();
var b : B = new B();

a.functionA(b.functionB);

...

private function functionA(f:Function):void
{
    f();

    // or

    f(1, "hi");
}

与该函数关联的实例随身携带。如果您需要在另一个实例上调用该函数,请调用f.apply(instance, [1, "hi"])

AS3没有委托或函数签名的概念,所以你需要知道传入的参数。