我唯一能找到的设置枚举值的方法是:Add methods or values to enum in dart
不过,我觉得有点乏味。有更好的办法吗?
在C#
中,我可以简单地做这样的事情:
enum ErrorCode
{
None = 0,
Unknown = 1,
ConnectionLost = 100,
OutlierReading = 200
}
我唯一能找到的设置枚举值的方法是:Add methods or values to enum in dart
不过,我觉得有点乏味。有更好的办法吗?
在C#
中,我可以简单地做这样的事情:
enum ErrorCode
{
None = 0,
Unknown = 1,
ConnectionLost = 100,
OutlierReading = 200
}
4条答案
按热度按时间7nbnzgx91#
下面是一个简单的例子
x7yiwoj42#
在Dart中有一个即将到来的特性,称为增强的枚举,它允许枚举声明具有许多从类中已知的特性。举例来说:
这个特性还没有发布(注意,有几个东西还没有工作),但是可以通过传递
--enable-experiment=enhanced-enums
来使用工具的适当新版本进行实验。结果是
ErrorCode
是一个枚举声明,有四个值ErrorCode.None
,ErrorCode.Unknown
,等等,我们有ErrorCode.None.value == 0
和ErrorCode.Unknown.value == 1
,等等。当前的bleeding edge在公共前端处理这个示例(因此dart
和dart2js
将处理它),但它还没有被分析器处理。3z6pesqy3#
从
Dart 2.17
开始,你可以像这样用成员声明枚举:ulmd4ohb4#
尝试使用私有命名的const构造函数,使用下划线而不是名称。它的行为类似于枚举,因为它不能从类外部安装。
你可以这样使用它: