【发布时间】:2014-12-28 04:53:39
【问题描述】:
我有一个 Enum 和一个从 String 创建它的函数,因为我找不到内置的方法来做到这一点
enum Visibility{VISIBLE,COLLAPSED,HIDDEN}
Visibility visibilityFromString(String value){
return Visibility.values.firstWhere((e)=>
e.toString().split('.')[1].toUpperCase()==value.toUpperCase());
}
//used as
Visibility x = visibilityFromString('COLLAPSED');
但似乎我必须为我拥有的每个 Enum 重写这个函数,有没有办法编写相同的函数,它将 Enum 类型作为参数?我试过了,但我发现我无法转换为 Enum。
//is something with the following signiture actually possible?
dynamic enumFromString(Type enumType,String value){
}
【问题讨论】:
-
是的,似乎没有什么好的方法可以做到这一点。在我看到他们是如何实现它之前,我一直期待着这个特性被包含在 Dart 中。现在,我通常无法证明使用它的合理性。
-
@montyr75 想通了,希望它会很快改变
-
如果你需要类似的东西,最好使用旧式枚举stackoverflow.com/a/13901969/217408
标签: dart