Dart Enum?
Weis jemand woran das liegt?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmiersprache, Programmieren & Softwareentwicklung
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
Wie würde ich das in mein Fall lösen ?