invalid_modifier_on_constructor
The modifier '{0}' can't be applied to the body of a constructor.
Description
#The analyzer produces this diagnostic when the body of a constructor is
prefixed by one of the following modifiers: async
, async*
, or sync*
.
Constructor bodies must be synchronous.
Example
#The following code produces this diagnostic because the body of the
constructor for C
is marked as being async
:
dart
class C {
C() async {}
}
Common fixes
#If the constructor can be synchronous, then remove the modifier:
dart
class C {
C();
}
If the constructor can't be synchronous, then use a static method to create the instance instead:
dart
class C {
C();
static Future<C> c() async {
return C();
}
}
除非另有说明,文档之所提及适用于 Dart 3.7.3 版本,本页面最后更新时间: 2025-05-08。 查看文档源码 或者 报告页面问题。