0

我知道我可以使用 addEventListener 方法来处理一个:

addEventListener(SFSEvent.CONNECTION, MyMethod)

就像我处理另一个类中的方法一样?喜欢...

addEventListener(SFSEvent.CONNECTION, Myclass.class)

或者

addEventListener(SFSEvent.CONNECTION, MyClass.method)
4

1 回答 1

2

您可以将另一个函数处理程序传递给一个类

例如

Class A {

     public function A() {
          addEventListener(SFSEvent.CONNECTION, MyMethod);
     }

     private function _handler:Function;

     public function set handler(value:Function):void {
           _handler = value;
     }

     private function MyMethod(e:SFSEvent):void {

        if (_handler) {
            _handler.apply(null, someParam);
        }
     }

}

然后将目标处理程序传递给 A 实例

var a:A = new A();
var b:Myclass = new Myclass();
a.handler = b.someMethod;

如果函数是静态函数,你可以这样做

addEventListener(SFSEvent.CONNECTION, SomeClass.aStaticFunction);
于 2013-09-11T12:34:46.070 回答