肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > C#获取枚举描述

C#获取枚举描述

时间:2022-12-23 15:34:17

相关推荐

本文参考地址:/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();

}

最终运行结果:

如果觉得《C#获取枚举描述》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。