限制或扩展飞镖中的枚举

Restrict or extend an enum in dart

我正在使用 dart,假设我有一个无法修改的枚举(可能很长):

enum Animal {
  cat,
  dog,
  lion,
  tigger,
}

是否可以限制此枚举,我想获得

enum DomesticAnimal {
  cat,
  dog,
}

with DomesticAnimal.cat 仍然是 Animal ?


另外,是否可以扩展得到

enum LivingCreature {
  cat,
  dog,
  lion,
  tigger,
  tree,
  flower,
}

其中 LivingCreature.cat 仍然是 Animal ?

没有。目前在 Dart 中没有类似的东西。一个枚举值对象恰好属于一个枚举类型。 也无法创建仅包含其他类型的一些实例的新类型。