如何在 dart 中重写枚举的 toString 方法

Ndi*_*mah 6 enums dart

我只是想知道是否可以重写toStringdart 中的方法,这就是我所拥有的:

enum Style{italic, bold, underline}
Style.italic.toString() 
// print Style.italic, but I want it to be just italic
Run Code Online (Sandbox Code Playgroud)

lrn*_*lrn 14

目前无法覆盖enums 的方法。

编辑:从 Dart 2.17 开始就有可能,计划发布“增强枚举”功能(如果一切顺利的话)。

那时,您将能够在enum声明上声明方法并覆盖toString

所以,你可以这样做:

enum Style {
  italic, bold, underline;

  @override
  String toString() => this.name; 
}
Run Code Online (Sandbox Code Playgroud)

得到你想要的东西。nameDart 2.15 中添加了枚举值的 getter 。