C#获取枚举描述
2017-12-19 13:43
357 查看
本文参考地址:https://www.cnblogs.com/myyBlog/p/6738563.html
枚举类型在程序中必不可少,特别是在类型选择的地方;但是我们经常需要添加额外的中文对应选择,其实不如直接用描述属性
核心代码:
具体代码:
public class EnumHelper
{
public static string GetEnumDescription(Enum type)
{
Type ty = type.GetType();
MemberInfo[] memInfos = ty.GetMember(type.ToString());
if(memInfos!=null&&memInfos.Length>0)
{
object[] objArr = memInfos[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
if(objArr!=null&&objArr.Length>0)
{
return (objArr[0] as DescriptionAttribute).Description;
}
}
return type.ToString();
}
}
举例枚举:最后一个是我们常用的注释,我们常用的注释不能起到明显的作用,除了给编程人员显示含义
具体代码:
public enum SeasonType
{
[Description("春天")]
Spring=1,
[Description("夏天")]
Summer=2,
[Description("秋天")]
Antumn=3,
[Description("冬天")]
Winter=4,
/// <summary>
/// 未知
/// </summary>
UnKnown=5
}
最终控制台调用:
具体代码:
static void Main(string[] args)
{
List<SeasonType> list = new List<SeasonType>() { SeasonType.Spring, SeasonType.Summer, SeasonType.Antumn, SeasonType.Winter, SeasonType.UnKnown};
foreach (var a in list)
{
Console.WriteLine(string.Format("{0}={1}",a.ToString(),(int)a));
Console.WriteLine(EnumHelper.GetEnumDescription(a));
}
Console.ReadKey();
}
最终运行结果:
枚举类型在程序中必不可少,特别是在类型选择的地方;但是我们经常需要添加额外的中文对应选择,其实不如直接用描述属性
核心代码:
具体代码:
public class EnumHelper
{
public static string GetEnumDescription(Enum type)
{
Type ty = type.GetType();
MemberInfo[] memInfos = ty.GetMember(type.ToString());
if(memInfos!=null&&memInfos.Length>0)
{
object[] objArr = memInfos[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
if(objArr!=null&&objArr.Length>0)
{
return (objArr[0] as DescriptionAttribute).Description;
}
}
return type.ToString();
}
}
举例枚举:最后一个是我们常用的注释,我们常用的注释不能起到明显的作用,除了给编程人员显示含义
具体代码:
public enum SeasonType
{
[Description("春天")]
Spring=1,
[Description("夏天")]
Summer=2,
[Description("秋天")]
Antumn=3,
[Description("冬天")]
Winter=4,
/// <summary>
/// 未知
/// </summary>
UnKnown=5
}
最终控制台调用:
具体代码:
static void Main(string[] args)
{
List<SeasonType> list = new List<SeasonType>() { SeasonType.Spring, SeasonType.Summer, SeasonType.Antumn, SeasonType.Winter, SeasonType.UnKnown};
foreach (var a in list)
{
Console.WriteLine(string.Format("{0}={1}",a.ToString(),(int)a));
Console.WriteLine(EnumHelper.GetEnumDescription(a));
}
Console.ReadKey();
}
最终运行结果:
相关文章推荐
- C#获取枚举的描述
- C#获取枚举描述代码
- C# 枚举转键值对,获取描述等通用方法
- C#获取枚举描述代码
- C# 获取枚举的描述值
- c#枚举 获取枚举键值对、描述等
- C#工具类(包含获取枚举描述方法)
- c#枚举 获取枚举键值对、描述等
- C#枚举描述获取
- C#获取枚举的Description描述信息
- C# 获取枚举的 键名称,值 和描述 遍历枚举
- c#枚举 获取枚举键值对、描述等
- C# 获取枚举类型中所有描述信息
- C# 获取枚举类型中所有描述信息
- C#实现获取枚举的描述
- C# 获取Enum枚举内容值或描述
- 根据枚举值获取枚举的描述
- C#根据枚举的key值获取枚举name名称
- 获取枚举描述
- c#中 Enum类型定义与获取值或描述方法