跳到主要內容

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 = () {};
}