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

Commands in SignalRC - Der DDC-Truck, Teil 5
Durch das Zusammenspiel verschiedener Entwicklungsmuster lassen sich interessante Verhaltensweisen für die Steuerung von RC-Modellen aufbauen.
8 Minuten
19. Feb 2026
Nest.js: Warum sich der Blick über den Tellerrand für .NET-Entwickler lohnt - Nest.js für .NET-Entwickler, Teil 1
In modernen Softwareprojekten steht das C#-Backend längst neben einem Frontend, das in TypeScript lebt. Zwei Sprachen, zwei Ökosysteme, zwei Denkweisen. Was, wenn das Backend dieselbe Sprache sprechen könnte – ohne auf Enterprise-Patterns zu verzichten? Nest.js zeigt, dass genau das geht.
6 Minuten
18. Feb 2026
Die Suche nach Texten - Acht Kostbarkeiten in T-SQL, Teil 7
Suchen, bis die Server schwitzen? Wer versteht, wie der SQL Server denkt, wird bessere Ergebnisse und bessere Performance erzielen.
7 Minuten
16. Feb 2026

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