c#反射获取description
时间: 2023-07-27 16:15:56 浏览: 123
C#反射详解
可以使用反射获取 C# 中枚举值的 Description 特性。具体的代码实现如下:
首先,定义一个枚举类型,并在枚举值上使用 Description 特性:
```
public enum Colors
{
[Description("红色")]
Red,
[Description("绿色")]
Green,
[Description("蓝色")]
Blue
}
```
接下来,可以使用如下代码获取枚举值的 Description 特性:
```
public static string GetDescription(Enum value)
{
FieldInfo field = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes = (DescriptionAttribute[])field.GetCustomAttributes(typeof(DescriptionAttribute), false);
return attributes.Length > 0 ? attributes[0].Description : value.ToString();
}
```
然后,可以在代码中使用 GetDescription 方法获取枚举值的 Description 特性,如下所示:
```
Colors color = Colors.Red;
string description = GetDescription(color); // 获取 "红色" 字符串
```
阅读全文