dart如何获得带有索引的枚举?

son*_*fei 0 generics enums dart

我定义了一个枚举:

enum TestEnum {
  test1,
  test2,
}
Run Code Online (Sandbox Code Playgroud)

我想用索引做一个枚举:

E buildEnum<E extends ?????????????????>(int index) {
  try {
    return E.values[index];
  }
  catch(e) {
    return null;
  }
}
Run Code Online (Sandbox Code Playgroud)

我不知道枚举的类型。

Nul*_*ind 5

enum A { a1, a2, a3}
A.values[index]
Run Code Online (Sandbox Code Playgroud)

  • 这是一个普通的数组。所以,会从0开始 (3认同)

lrn*_*lrn 0

您无法对类型参数进行静态访问,因此这不起作用。

除了反射 ( ) 之外,没有其他方法dart:mirrors可以从值变为其类型的静态成员。