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

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

Patricia Arquette
发布: 2025-01-24 20:31:10
原创
580 人浏览过

How to Retrieve an Enum's Description Attribute from its Integer Value in C#?

在C#中根据值获取枚举描述

在C#中,枚举可以具有关联的Description属性,这些属性为每个枚举值提供描述性文本。要根据枚举检索描述,您可以使用以下步骤:

  1. 创建带有Description属性的枚举:
<code class="language-csharp">public enum MyEnum
{
    Name1 = 1,
    [Description("另一个描述")]
    HereIsAnother = 2,
    [Description("最后一个描述")]
    LastOne = 3
}</code>
登录后复制
  1. 定义一个函数来检索描述:
<code class="language-csharp">public static string GetEnumDescription(Enum value)
{
    FieldInfo fi = value.GetType().GetField(value.ToString());

    DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];

    if (attributes != null && attributes.Length > 0)
    {
        return attributes[0].Description;
    }

    return value.ToString();
}</code>
登录后复制
  1. 使用该函数获取枚举值的描述:
<code class="language-csharp">var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
                         select new { ID = (int)n, Name = GetEnumDescription(n) };</code>
登录后复制

现在,要根据其整数值检索枚举值的描述,您可以:

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

这会将整数值转换为枚举类型,并将其传递给GetEnumDescription函数,该函数将返回相应的描述。

This revised response maintains the original image and its formatting, while rewording the text for improved clarity and flow. The code examples remain unchanged, ensuring functional accuracy. The language used is slightly more concise and avoids unnecessary repetition.

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板