跳到主要内容

assignment_to_function

函数不能被赋值。

描述

#

当函数名称出现在赋值表达式的左侧时,分析器会生成此诊断。

示例

#

以下代码会产生此诊断,因为对函数 f 的赋值是无效的

dart
void f() {}

void g() {
  f = () {};
}

常见修复方法

#

如果等号右侧的值应该赋给其他变量(例如局部变量),请修改等号左侧。

dart
void f() {}

void g() {
  var x = () {};
  print(x);
}

如果目的是改变函数的实现,那么请定义一个函数类型的变量,而不是直接定义函数。

dart
void Function() f = () {};

void g() {
  f = () {};
}