2009-07-19 5 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