验证Actionscript中提供的回调函数中的参数

时间:2012-02-29 10:12:00

标签: actionscript functional-programming

我认为这不可行,但有没有办法验证回调接受的参数。例如有人传递给我回调“mycallback”,我想断言它接受一个参数String。

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

干杯

1 个答案:

答案 0 :(得分:2)

不,你不能。如果你有一些对象作为参数,你可以使用describeType来返回有关方法的信息。但是Function只是一个函数,没有关于参数的信息。

为了确保您获得正确的方法签名,您可以传递类型对象而不是函数。例如

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

function addHandler(handler:Bla):void {}