Dart `void` vs `Function` vs `void Function()`

Dart `void` vs `Function` vs `void Function()`

Flutter 的 InkWell 小部件有一个 onTap 类型的参数 void Function()。如果我声明并传递一个 void 方法,我会得到一个类型错误 This expression has a type of 'void' so its value can't be used. 如果我使用 Function 代替,我还必须显式 return null;。我只想使用 void,并省略显式 return 语句。

有人可以解释一下这些类型之间的区别吗?

(我找不到这个问题的确切答案,尽管它听起来可能与其他问题相似。)

事情是:InkWell 小部件的 onTap 接受回调 void Function(一个没有 return 任何东西的函数),它将是 运行每次用户按下按钮时。

很难确定,因为您没有共享代码,但我猜您很可能 运行ning 函数而不是在没有括号的情况下传递它。因为您正在调用或 运行ning 函数,所以您没有传递它,而是传递了 returned void.

尝试传递不带括号的函数,这样它就不会得到 运行。