Passing enum type as argument in Dart 2 Passing enum type as argument in Dart 2 dart dart

Passing enum type as argument in Dart 2


This might work for you

typedef EnumValues<T> = List<T> Function();void main() {  foo<E1>(() => E1.values);  foo<E2>(() => E2.values);}enum E1 { a, b }enum E2 { c, d }void foo<T>(EnumValues<T> valuesFn) {  var values = valuesFn();  for (var v in values) {    print(v);  }}

See comments - shorter version

void main() {  foo<E1>(E1.values);  foo<E2>(E2.values);}enum E1 { a, b }enum E2 { c, d }void foo<T>(List<T> values) {  for (var v in values) {    print(v);  }  print(values[0]);}