返回
c#获取枚举的Description
2023-04-14
2535 0要获取 C# 中枚举的描述(Description),可以使用反射和自定义属性来实现。
首先,需要在枚举值上定义自定义属性(Custom Attribute),用于存储描述信息。例如:
public enum MyEnum
{
[Description("This is the first value")]
Value1,
[Description("This is the second value")]
Value2,
[Description("This is the third value")]
Value3
}
接下来,可以编写一个扩展方法来获取枚举值的描述。例如:
using System;
using System.ComponentModel;
using System.Reflection;
public static class EnumExtensions
{
public static string GetDescription(this Enum value)
{
FieldInfo field = value.GetType().GetField(value.ToString());
DescriptionAttribute attribute
= Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute))
as DescriptionAttribute;
return attribute == null ? value.ToString() : attribute.Description;
}
}
现在,可以使用该扩展方法获取枚举值的描述。例如:
MyEnum myValue = MyEnum.Value1;
string description = myValue.GetDescription();
Console.WriteLine(description); // 输出:This is the first value
注意,上述方法中使用了 System.ComponentModel 命名空间中的 DescriptionAttribute 类来定义自定义属性。如果在项目中没有使用该命名空间,则需要添加对 System.ComponentModel 命名空间的引用。
您可能感兴趣:
网友点评
提交