我在dart中将函数定义为名为“ TestDelegate”的类型,并按如下方式使用它:
typedef TestDelegate = T Function<T>();
TestDelegate delegate = <int>(){
return 1; <== error line
};
它产生了一个错误:
返回类型'int'不是匿名闭包定义的'int'。
该如何解决?
答案 0 :(得分:3)
您必须在TestDelegate上声明泛型
typedef TestDelegate<T> = T Function();
void main() {
print('RESULT: ${_delegate()}');
}
TestDelegate<int> _delegate = () {
return 1;
};