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.

Neueste Beiträge

Arbeiten mit Tabellen und KI in Dataverse
Microsoft unterstützt die zentrale Datenmanagement-Lösung Dataverse in Power Apps mit KI-Features.
7 Minuten
6. Aug 2025
Müssen Ziele SMART sein?
Wenn es um Ziele im Projektmanagement oder in der Führung einer Organisation geht, stoßen wir schnell und fast ausnahmslos auf das Akronym SMART. Was steckt dahinter, und kann es nicht auch sinnvolle Ziele geben, die nicht SMART sind?
8 Minuten
Browser-Apps mit Avalonia entwickeln - Avalonia
Klassische UI-Frameworks finden ihren Weg in den Browser
7 Minuten
11. Aug 2025
Miscellaneous

Das könnte Dich auch interessieren

Sicher ist sicher - Azure DevOps Pipelines Security
Als integraler Bestandteil der Entwicklungsumgebung ist Azure DevOps Pipelines oft Ziel von Angriffen. Da ist es gut zu wissen, wo die Schwachstellen des Systems liegen.
14 Minuten
16. Jun 2025
Für Einsteiger: Backend-Webentwicklung mit .NET - Microsoft
Auf YouTube bietet Microsoft eine Videoserie für Einsteiger in die Backend-Webentwicklung mit .NET.
2 Minuten
13. Feb 2024
CodeProject.AI Server in neuer Version - Lokaler AI-Server
CodeProject.AI Server (jetzt in Version 2.1.10) ist ein lokal installierter, selbstgehosteter, schneller, kostenloser und Open Source Artificial Intelligence Server für jede Plattform und jede Sprache.
2 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige