2013-09-11 11 views
0

Я знаю, что я могу использовать метод addEventListener для обработки одного:Использование addeventlistener обрабатывать другой файл класса

addEventListener(SFSEvent.CONNECTION, MyMethod) 

как я бы для обработки метод в другом классе? Как ...

addEventListener(SFSEvent.CONNECTION, Myclass.class) 

или

addEventListener(SFSEvent.CONNECTION, MyClass.method) 

ответ

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); 
     } 
    } 

} 

Затем пройти целевой обработчик к экземпляру

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

Если функция является статической функцией, Вы можете просто сделать это как этот

addEventListener(SFSEvent.CONNECTION, SomeClass.aStaticFunction);