2012-02-29 30 views
0

我不認爲這是可能的,但有沒有辦法驗證回調接受的參數。例如有人通過我回調「mycallback」,我想斷言它接受一個參數字符串。在Actionscript中提供的回調函數中驗證參數

public function addHandler(handler : Function) : void{ 
    //pseudo code 
    Assert.functionAcceptsArguments(handler, String); 
} 

乾杯

回答

2

你就是不行。如果您有一些對象作爲參數,您可以使用describeType,它也會返回有關方法的信息。但是Function只是一個沒有參數信息的函數。

爲了確保您得到正確的方法簽名,您可以傳遞類型化對象而不是函數。例如

interface Bla { 
    funciton invoke(value:String):void; 
} 

function addHandler(handler:Bla):void {}