将方法或值添加到dart枚举中 [英] Add methods or values to enum in dart
本文介绍了将方法或值添加到dart枚举中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Java中,当您定义枚举时,您可以执行以下操作。
In java when you are defining an enum you can do something similar to the following. Is this possible in Dart?
enum blah {
one(1), two(2);
final num value;
blah(this.value);
}
推荐答案
从Dart 2.6开始,您可以
Starting with Dart 2.6 you can define extensions on classes (Enums included).
enum Cat {
black,
white
}
extension CatExtension on Cat {
String get name {
switch (this) {
case Cat.black:
return 'Mr Black Cat';
case Cat.white:
return 'Ms White Cat';
default:
return null;
}
}
void talk() {
print('meow');
}
}
示例:
Cat cat = Cat.black;
String catName = cat.name;
cat.talk();
这里还有一个实时示例(使用常量映射而不是开关):
>://dartpad.dartlang.org/c4001d907d6a420cafb2bc2c2507f72c
Here's one more live example (uses a constant map instead of a switch): https://dartpad.dartlang.org/c4001d907d6a420cafb2bc2c2507f72c
这篇关于将方法或值添加到dart枚举中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文