Maison > développement back-end > C++ > Comment puis-je récupérer une valeur Enum à l'aide de sa description en C# ?

Comment puis-je récupérer une valeur Enum à l'aide de sa description en C# ?

Mary-Kate Olsen
Libérer: 2025-01-21 21:21:10
original
304 Les gens l'ont consulté

How Can I Retrieve an Enum Value Using Its Description in C#?

Amélioration des énumérations C# : récupération des valeurs par description

Cet article présente une technique puissante pour améliorer la fonctionnalité des énumérations C#. Nous nous concentrerons sur la récupération efficace d’une valeur enum à l’aide de son attribut description. Cette approche offre une flexibilité accrue et simplifie le développement de code.

La solution implique une classe d'assistance statique, EnumEx, contenant une méthode générique : GetValueFromDescription. Cette méthode accepte une chaîne de description et le type enum en entrée. Il parcourt ensuite les champs de l'énumération, en utilisant la réflexion pour trouver le DescriptionAttribute. Si une correspondance est trouvée entre la description de l'attribut et la chaîne d'entrée, la valeur enum correspondante est renvoyée.

Si aucun DescriptionAttribute n'est présent, la méthode revient à comparer le nom du champ avec la description de l'entrée. Si une correspondance est trouvée ici, la valeur enum correspondante est renvoyée. Sinon, un ArgumentException est renvoyé (ou la valeur d'énumération par défaut est renvoyée, selon les préférences d'implémentation).

Cette méthode permet une récupération simple des valeurs d'énumération à l'aide de descriptions :

<code class="language-csharp">var panda = EnumEx.GetValueFromDescription<animal>("Giant Panda");</code>
Copier après la connexion

Cette extension améliore considérablement la maintenabilité et la lisibilité du code en offrant un moyen plus propre d'accéder aux valeurs d'énumération en fonction de leurs descriptions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal