C#如何给枚举添加类似JAVA的字符串描述?
在C#中,我们可以使用属性来为枚举添加类似JAVA的字符串描述。具体步骤如下:
- 定义枚举类型:
public enum Gender
{
[Description("男")]
Male,
[Description("女")]
Female,
[Description("未知")]
Unknown
}
- 定义一个扩展方法,用于获取枚举值对应的字符串描述:
public static class EnumExtensions
{
public static string GetDescription(this Enum value)
{
var field = value.GetType().GetField(value.ToString());
var attributes = field.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
return attributes != null && attributes.Length > 0 ? attributes[0].Description : value.ToString();
}
}
- 使用枚举时,调用扩展方法获取字符串描述:
var gender = Gender.Male;
var description = gender.GetDescription(); // 返回 "男"
这样,我们就可以为C#枚举类型添加类似JAVA的字符串描述了
原文地址: https://www.cveoy.top/t/topic/dpqC 著作权归作者所有。请勿转载和采集!