0
我有一個可變參數方法,我想作爲另一個可變參數方法的代理,但我不知道該怎麼做。這裏是基本的代碼:在ActionScript中包裝可變參數方法
class MyClass {
public function a(...args:*):* {
// other code
b(args);
// other code
}
public function b(...args:*):* {
// do stuff with args
}
}
我從Java,其中類型系統知道參數實際上應該是字符串,而不是數組移植代碼,因此它可以找出調用B()由直接傳遞參數,一切都符合你的期望。
但是在ActionScript中,通過代理方法調用時,參數數組會被包裝到另一個數組中。
因此,當直接調用b()時,該數組只有一個深度。但是,當通過()調用b()時,該數組是深兩層。
有沒有人知道解決這個問題的技巧? (注意:在我的真實代碼中,a()和b()實際上是在不同的類中,我真的不想觸及b()的實現。我可以重寫a()爲我的心臟的內容,但b()不應該改變。)
哇。這是瘋狂的。我不知道這是可能的。太感謝了!!! – benjismith 2009-02-04 01:47:52