跳到主要内容

invalid_modifier_on_setter

Setter 不能使用 'async'、'async*' 或 'sync*'。

描述

#

当 setter 的主体以以下修饰符之一为前缀时,分析器会产生此诊断信息:asyncasync*sync*。Setter 主体必须是同步的。

示例

#

以下代码会产生此诊断信息,因为 setter x 的主体被标记为 async

dart
class C {
  set x(int i) async {}
}

常见修复方案

#

如果 setter 可以是同步的,则移除该修饰符

dart
class C {
  set x(int i) {}
}

如果 setter 不能是同步的,则改用方法来设置值

dart
class C {
  void x(int i) async {}
}