2009-07-19 14 views
4

自分のRemoteObjectクラスのリモーティングサービスへの呼び出しをカプセル化しています。これは、リモート呼び出しに渡される可変パラメータを処理する必要がある場合を除いて、すべて正常に動作します。これはNetConnection.callへの呼び出しなので、可変引数を渡すことができるはずですが、私はNetConnection.callをカプセル化しているのでエラーが発生します。私の方法は、最後のパラメータとして変数の引数のパラメータを取り、あなたが見ることができるように可変引数を転送する

public function call(method : String, callback : Function, ... args) : void 
{ 
    var responder : Responder; 

    responder = new Responder(callback, onResponderStatus); 

    this._nc.call(this._remoteObject + "." + method, responder, args); 
} 

:これは私のメソッドは、現在のように見えるものです。これらのパラメータをNetConnection.callメソッドに渡そうとしています。しかし、私の方法の範囲内では、argsはArray型になります。可変引数を正しくNetConnection.callに転送するにはどうすればよいですか?

答えて

7

Function::applyは、あなたが探しているものです...最後に、それは次のようになります。

this._nc.call.apply(this._nc, [this._remoteObject + "." + method, responder].concat(args)); 

greetz

back2dos

関連する問題