首页 >后端开发 >C++ >如何从整数值中检索C#枚举的描述?

如何从整数值中检索C#枚举的描述?

Susan Sarandon
Susan Sarandon原创
2025-01-24 20:26:11448浏览

How to Retrieve a C# Enum's Description from its Integer Value?

在C#中从值检索枚举描述

在C#中,枚举可以使用Description属性进行修饰,允许您将有意义的描述与每个枚举成员关联。要检索给定枚举值的描述,您可以利用GetEnumDescription()方法,如下所示:

<code class="language-csharp">public enum MyEnum
{
    Name1 = 1,
    [Description("Here is another")]
    HereIsAnother = 2,
    [Description("Last one")]
    LastOne = 3
}

public static string GetEnumDescription(Enum value)
{
    FieldInfo fi = value.GetType().GetField(value.ToString());
    DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
    return attributes?.Any() == true ? attributes.First().Description : value.ToString();
}</code>

假设您想检索特定枚举值的描述,该值表示为整数(例如,1)。在将其传递给GetEnumDescription()方法之前,您可以使用强制转换将此整数转换为枚举值:

<code class="language-csharp">int value = 1;
string description = GetEnumDescription((MyEnum)value);</code>

通过将整数强制转换为相应的枚举类型,您可以检索对应枚举成员的关联描述。

以上是如何从整数值中检索C#枚举的描述?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn