Dart 错误:参数类型为‘’;can';不能分配给参数类型‘’;

Dart 错误:参数类型为‘’;can';不能分配给参数类型‘’;,dart,Dart,我试图调用一个接受另一个函数作为参数的函数 当我尝试使用泛型进行泛化时,我得到以下错误 错误:无法将参数类型“..”指定给参数类型“..” 类MyType{} typedef MyFunctionType=void函数(函数(MyValue?,MyValue)); 类MyClass{ 晚MyFunctionType myFunc; MyClass(this.myFunc){ (observer)=>this.newValues(observer.oldValue,observer.oldValu

我试图调用一个接受另一个函数作为参数的函数

当我尝试使用泛型进行泛化时,我得到以下错误

错误:无法将参数类型“..”指定给参数类型“..”

类MyType{}
typedef MyFunctionType=void函数(函数(MyValue?,MyValue));
类MyClass{
晚MyFunctionType myFunc;
MyClass(this.myFunc){
(observer)=>this.newValues(observer.oldValue,observer.oldValue);
}
MyClass\u选择(MyValue函数(MyValue)选择器){
var observer func=(旧值、新值){
};
返回MyClass((observer)=>this.observe(observer函数));
}
无效观察(MyFunctionType func){
this.myFunc=func;
}
作废新值(MyValue oldValue、MyValue newValue){
//TODO添加功能
}
}
下面是错误

error: The argument type 'void Function(dynamic Function<MyValue₀ extends MyType>(MyValue, MyValue))' can't be assigned to the parameter type 'void Function(dynamic Function<MyValue extends MyType>(MyValue, MyValue))'. (argument_type_not_assignable at [dartTry] test/Params2Arguments.dart:16)
错误:无法将参数类型“void Function(dynamic Function(MyValue,MyValue))”指定给参数类型“void Function(dynamic Function(MyValue,MyValue))”。(参数类型不可在[dartTry]测试/Params2Arguments处赋值。dart:16)

我也遇到了类似的问题,不过我的示例要简单得多:

class Answer extends StatelessWidget {
  final Function selectHandler;

  Answer(this.selectHandler);

  @override
  Widget build(BuildContext context) {
    return Container(
      child: RaisedButton(
        ...
        onPressed: selectHandler,
      ),
    );
  }
}
分配
onPressed
功能的行上的错误为:

无法将参数类型“Function”分配给参数类型“void Function()”。dart(参数类型不可分配)

将void类型添加到my function属性中成功了,但这需要添加括号:

class Answer extends StatelessWidget {
  final void Function() selectHandler;
  ...
}

我有一个类似的问题,尽管我的例子要简单得多:

class Answer extends StatelessWidget {
  final Function selectHandler;

  Answer(this.selectHandler);

  @override
  Widget build(BuildContext context) {
    return Container(
      child: RaisedButton(
        ...
        onPressed: selectHandler,
      ),
    );
  }
}
分配
onPressed
功能的行上的错误为:

无法将参数类型“Function”分配给参数类型“void Function()”。dart(参数类型不可分配)

将void类型添加到my function属性中成功了,但这需要添加括号:

class Answer extends StatelessWidget {
  final void Function() selectHandler;
  ...
}