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

Design mit KI - UX goes Dev, Teil 2
Wie die Integration künstlicher Intelligenz in Designwerkzeuge die Art und Weise verändert, in der digitale Benutzeroberflächen entstehen.
6 Minuten
2. Jul 2026
KI: SQL Server versus Anwendungscode - SQL Server 2025 und Microsoft Azure AI, Teil 2
Wer SQL Server und Anwendungscode bewusst trennt, erhält eine Architektur, die sowohl performant als auch wartbar ist und sich langfristig stabil betreiben lässt.
6 Minuten
Übersehen seit .NET 8: TimeProvider für testbare Zeit
Seit .NET 8 gibt es TimeProvider als offizielle Zeit-Abstraktion. Doch noch zweieinhalb Jahre später ist sie in vielen Projekten unbekannt.
6 Minuten
1. Jul 2026

Das könnte Dich auch interessieren

Thonny: Python-IDE für Programmieranfänger - Python lernen
Thonny ist eine Entwicklungsumgebung für alle, die das Programmieren erlernen wollen. Die Python-IDE kommt mit einigen eingebauten Tools, verzichtet dafür auf fortgeschrittene Optionen und kann Anfängern den Einstieg erleichtern.
2 Minuten
24. Okt 2018
Erklärt: Closures in C# - CodeProject, Mark Pelf
Anhand von mehreren Beispielen erklärt Softwareentwickler Mark Pelf auf CodeProject die Arbeit mit C# Closures in Theorie und Praxis.
2 Minuten
15. Sep 2023
Mercury: Visual Basic für moderne Plattformen - RemObjects
Mit Elements bietet das Unternehmen RemObjects eine Entwicklungsplattform für moderne Geräte. Elements unterstützt sieben Programmiersprachen, darunter eine Visual-Basic-Variante, die laufend an neue Erfordernisse angepasst wird.
3 Minuten
17. Mai 2021
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige