【发布时间】:2015-06-16 12:21:51
【问题描述】:
在 Dart 中提供枚举之前,我编写了一些繁琐且难以维护的代码来模拟枚举,现在想对其进行简化。我需要将枚举的值作为字符串获取,例如可以用 Java 完成但不能。
例如,当我想要的是“MONDAY”时,小测试代码 sn-p 在每种情况下都会返回“day.MONDAY”
enum day {MONDAY, TUESDAY}
print( 'Today is $day.MONDAY');
print( 'Today is $day.MONDAY.toString()');
我是否更正了只需要解析字符串的“MONDAY”?
【问题讨论】:
-
而且没有迭代器?
-
Dart 提供了获取值 describeEnum 的方法,参见示例stackoverflow.com/a/60615370/11827756
-
Dart 需要类似 'name' 的内置属性来减少所有这些愚蠢行为(例如 day.MONDAY.name)。