Function 如何创建一个函数,该函数接受带有特定参数的函数作为参数?
我想创建一个函数,它接受一个函数,该函数接受特定类型的参数作为参数。例如:Function 如何创建一个函数,该函数接受带有特定参数的函数作为参数?,function,dart,type-systems,Function,Dart,Type Systems,我想创建一个函数,它接受一个函数,该函数接受特定类型的参数作为参数。例如: myFn(Function paramFn) { paramFn([1, 2, 3]); } 如何确保paramFn将列表作为唯一的参数接受?这就是原因所在,尽管我不确定强模式将如何强制执行它。您可以使用typedef将符号与满足所需签名的函数相关联。差不多 typedef void ParamFn(List<int> l); myFn(ParamFn f) { f('abc'); //
myFn(Function paramFn) {
paramFn([1, 2, 3]);
}
如何确保paramFn将
列表
作为唯一的参数接受?这就是原因所在,尽管我不确定强模式将如何强制执行它。您可以使用typedef
将符号与满足所需签名的函数相关联。差不多
typedef void ParamFn(List<int> l);
myFn(ParamFn f) {
f('abc'); // compile time error
f([1,2,3]); // works fine
}
typedef void参数fn(列表l);
myFn(参数f){
f('abc');//编译时错误
f([1,2,3]);//工作正常
}
您可以使用typedef
定义所需的签名,如中所述,也可以简单地将函数签名内联到参数中:
myFn(void paramFn(List<int> l)) {
paramFn([1, 2, 3]);
}
myFn(无效参数fn(列表l)){
paramFn([1,2,3]);
}