我只是想知道是否有可能重写dart中的toString方法--这就是我所拥有的:
enum Style{italic, bold, underline}
Style.italic.toString()
// print Style.italic, but I want it to be just italic发布于 2021-09-13 20:16:31
目前不可能覆盖enum的方法。
编辑:它将有可能从Dart 2.17,在那里的“增强枚举”功能计划发布(如果一切顺利)。
此时,您将能够在enum声明上声明方法,并覆盖toString。
所以,你可以这样做:
enum Style {
italic, bold, underline;
@override
String toString() => this.name;
}得到你想要的。在Dart 2.15中添加了枚举值的name getter。
发布于 2022-04-25 17:54:01
像使用.name扩展一样使用MyEnum.value.name。
enum Style { italic, bold, underline }
void main(List<String> args) {
print(Style.italic.name); // italic
}在dartPad上运行
https://stackoverflow.com/questions/69159851
复制相似问题