首页 > 解决方案 > 限制或扩展 dart 中的枚举

问题描述

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

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

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

enum DomesticAnimal {
  cat,
  dog,
}

DomesticAnimal.cat仍然是一个Animal


另外,是否可以扩展它以获得

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

LivingCreature.cat还在哪里Animal

标签: dartenumsextendrestrict

解决方案


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


推荐阅读