c#定义一个枚举值通过判断获取中文名称
时间: 2024-12-31 12:47:45 浏览: 29
在C#中,你可以定义一个枚举(Enum)并为每个枚举值附加一个描述性的字符串,这个字符串通常会被用来作为中文名称。以下是基本步骤:
1. 首先,创建一个枚举类型,例如:
```csharp
public enum MyEnum
{
Value1 = 0,
Value2,
Value3 = 2
}
```
在这个例子中,`Value1`、`Value2`和`Value3`是默认的英文名称。
2. 接着,在每个枚举值旁边添加一个带有注释的属性,用于存储中文名称,如:
```csharp
[Description("中文名称1")]
MyEnum Value1 = 0;
[Description("中文名称2")]
MyEnum Value2;
[Description("中文名称3")]
MyEnum Value3 = 2;
```
`Description` 属性是一个自定义的Attribute,可以方便地为枚举值提供额外信息,这里使用了第三方库 `System.ComponentModel.DataAnnotations` 中的 `Description`,如果没有该库,则需要手动实现这个属性。
3. 要访问中文名称,你可以使用反射或者直接从枚举类型获取描述属性:
```csharp
var descriptionAttribute = (DescriptionAttribute)typeof(MyEnum).GetField(Value1.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false)[0];
string chineseName = descriptionAttribute.Description;
```
阅读全文
相关推荐


















