这需要启用'enhanced-enums'语言功能



我刚刚升级了我的Flutter SDK,但我仍然无法使用增强的枚举。

$ dart --version

打印

Dart SDK version: 2.18.0-109.0.dev

这是我的代码:

enum Foo {
bar(0),
baz(1),
final int i;
const Foo(this.i);
}

得到以下错误:

这需要启用'enhanced-enum '语言特性。

期望找到'}'.

这里有两个问题。

  1. pubspec.yaml文件中更新Dart SDK版本约束以使用新的Dart2.17.0版本

    environment:
    sdk: ">=2.17.0 <3.0.0"
    

    然后执行flutter pub get命令

  2. 必须以分号;结尾,不能以逗号,结尾

    enum Foo {
    bar(0),
    baz(1); // <-- Replaced "," with ";"
    final int i;
    const Foo(this.i);
    }
    

最新更新