Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

Schlaue Enums in C#

In Java sind Enums vollwertige Klassen. Das konnte man in C# bislang zwar nachbilden, die resultierenden Enums aber nicht mit dem Switch-Statement nutzen, so Entwickler robsosno auf Codeproject. Mit C# 7 wird das anders. Er zeigt, wie man schlaue Enums anlegt und nutzt.
Mit C# 7.0 kann man Standardklassen anstelle von Enums nutzen und erhält somit eine größere Flexibilität. Die Grundidee von robsosno ist es, Enum in eine immutable Klasse zu ändern und statische, readonliy Instanzen dieser Klasse bereitzustellen. Den größten Teil seines Codes packt er dafür in die Klasse EnumBase. Alle seine Enums erben von dieser Basisklasse. Die Basisklasse geht davon aus, dass die internen Werte von Enums den Typ Integer haben. Die Klasse unterstützt jedoch auch eine Beschreibung der Werte.

Als Beispiel präsentiert er eine Enum-Klasse TransactionState, die neben den üblichen Werten, hier
  • COMPLETE
  • REJECTED
  • PENDING
  • AWAITING_APPROVAL

auch noch die Methode isTransactionComplete kennt.

Wie er diese selbstgebaute Enum-Klasse in in einem übersichtlichen Switch-Konstrukt nutzt, sehen Sie in seinem Beitrag zum Thema.
Miscellaneous

Neueste Beiträge

CLAUDE.md richtig aufbauen - Projektanforderungen an Entwickler in Zeiten von KI, Teil 1
Gleicher Prompt, gleiches Projekt, einmal mit leerer CLAUDE.md, einmal mit gepflegter. Die Ergebnisse sind nicht vergleichbar. Wie eine Markdown-Datei zum wichtigsten Interface zwischen Entwickler und KI-Agent wird.
6 Minuten
GitHub Actions umstellen - Schnellere .NET-CI-Pipelines mit Test Sharding, Teil 2
Eine Jobmatrix bringt die lokale Testaufteilung auf mehrere Runner. Damit daraus ein verlässlicher CI-Lauf entsteht, müssen Shard-Nummern, Fehlerstatus und Ergebnisdateien zusammenpassen. Der Workflow zeigt die nötigen Schritte.
6 Minuten
Outlook und Mailintegration mit Microsoft Graph - Connected Apps mit .NET, Teil 2
Eine .NET-App meldet Benutzer an, liest Outlook-Nachrichten aus dem Posteingang und bereitet E-Mails für Anzeige und weitere Verarbeitung auf.
8 Minuten

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige