Dart Enum?

1 Antwort

Alle Instanzen einer Enumeration werden statisch erzeugt. Du kannst sie nicht dynamisch anlegen. Daher ist dieser Konstruktoraufruf auch nicht zulässig.

Allerdings kannst du (und darauf macht die Fehlermeldung ebenso aufmerksam) eine Factory einsetzen, die eine bestehende Instanz zurückliefert.

Beispiel:

enum Weekday {
  Monday(1),
  Tuesday(2),
  Wednesday(3),
  /* etc. ... */

  final int id;

  const Weekday(this.id);

  factory Weekday.fromId(int id) {
    return values.firstWhere((value) => value.id == id);
  }
}

// usage:
final day = Weekday.fromId(2); // Tuesday

XxxG1Axxx 
Fragesteller
 03.08.2023, 19:46

Wie würde ich das in mein Fall lösen ?

0