C#中枚举类型获取中文的名称
时间: 2024-03-02 20:48:12 浏览: 228
在C#中,枚举类型的中文名称可以通过自定义属性来获取。具体步骤如下:
1. 定义枚举类型时,为每个枚举值添加一个自定义属性,用于存储中文名称。
例如:
```csharp
public enum Gender
{
[Description("男")]
Male,
[Description("女")]
Female,
[Description("未知")]
Unknown
}
```
2. 通过反射获取枚举值的中文名称。
例如:
```csharp
public static string GetEnumDescription(Enum value)
{
Type type = value.GetType();
FieldInfo field = type.GetField(value.ToString());
if (field != null)
{
DescriptionAttribute attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
return value.ToString();
}
```
使用方法:
```csharp
Gender gender = Gender.Male;
string name = GetEnumDescription(gender); // 返回 "男"
```
阅读全文