Dart 强模式 : error on anonymous function return

标签 dart

我收到以下错误。 不能将参数类型“dynamic”分配给参数类型“() -> dynamic” 例子是:

outerFunc(somevar) {
    return () {....} 
}
anOtherFunction(func()) {....}

anOtherFunction(outerFunc('test'));

这些发生在我返回一个匿名函数时,在启用 analysis_options.yaml 的强模式下。

strong-mode:
  implicit-casts: false

最佳答案

outerFunc 未指定返回类型,因此假定为 dynamic。 您可以创建一个 typedef 并将其用作 outerFunc 的返回类型。 无法从 return 语句推断出函数类型。

typedef dynamic F();

F outerFunc(somevar) {
  return () {};
}

您也可以内联编写函数类型

dynamic Function() outerFunc(somevar) {
  return () {};
}

关于Dart 强模式 : error on anonymous function return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900562/

相关文章:

dart - Flutter 中的可拖动 FloatingActionButton

flutter - 如何为容器使用两种不同的背景色

dart - Dart UnitTest:orderedEquals与closeTo组合

java - 如何将现有的java android转换为flutter(getLifecycle()中出现错误)

没有日期的 Flutter DatePicker。使用 Future<DateTime?> showDatePicker。插件限制

dart - Flutter:如何在英雄动画期间更改子元素的大小?

flutter - APT : error: attribute android:usesPermissionFlags not found

flutter - 卡中的 donut chart

dart - 如何防止下拉菜单更改列表的高度?

android - 离开页面时如何停止在 initState 中启动的 Timer.periodic