增强 C# 枚举:通过描述检索值
本文演示了一种改进 C# 枚举功能的强大技术。 我们将重点关注使用其描述属性有效地检索枚举值。 这种方法提高了灵活性并简化了代码开发。
解决方案涉及一个静态帮助器类EnumEx
,其中包含一个通用方法:GetValueFromDescription
。此方法接受描述字符串和枚举类型作为输入。 然后它迭代枚举的字段,使用反射来查找 DescriptionAttribute
。如果在属性的描述和输入字符串之间找到匹配,则返回相应的枚举值。
如果不存在 DescriptionAttribute
,该方法将回退到将字段名称与输入描述进行比较。 如果在这里找到匹配项,则返回相应的枚举值。 否则,将抛出 ArgumentException
(或返回默认枚举值,具体取决于实现首选项)。
此方法允许使用描述直接检索枚举值:
<code class="language-csharp">var panda = EnumEx.GetValueFromDescription<animal>("Giant Panda");</code>
此扩展通过提供一种更清晰的方式来根据描述访问枚举值,从而显着提高了代码的可维护性和可读性。
以上是如何在 C# 中使用其描述来检索枚举值?的详细内容。更多信息请关注PHP中文网其他相关文章!