C#取枚举描述
一直都觉得枚举是个很不错的东西,可以给我们带来很多方便,而且也增加代码的可读性。 我在之前已经介绍过枚举的简要应用了,再次再来写下怎么获取枚举的描述。 源码如下: 首先,我们定义个含有描述的枚举类型 public?enum Url{ ??? [Description("http://www.thylx.net")]??????? ??? 个人博客 =?1, ? ? ["http://blog.163.com/thylx133@126/")] ??? 网易博客 =?2??? ["http://www.8eshare.com/"??? 八邑分享 =?3 } 定义完枚举之后,我们来写个通用的方法获取枚举的描述信息 ? ? ??????? ///?<summary> ??????? ///?获取描述信息 </summary> <param?name="en">枚举</param> <returns></returns> ??????? public?static?string GetEnumDes(this?Enum?en) { ??????????????? Type?type?=?en.GetType(); ??????????????? MemberInfo[]?memInfo?=?type.GetMember(en.ToString()); ??????????????? if?(memInfo?!=?null?&&?memInfo.Length?>?0) ??????????????? { ??????????????????????? object[]?attrs?=?memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute),?false); if?(attrs?!=?null?&&?attrs.Length?>??????????????????? ? ?? return?((DescriptionAttribute)attrs[]).Description; ??????????????? }?????????? ? ? ??????????? return?en.ToString(); ?????? } ? 以上通用方法便可获取到枚举的描述,调用方式如下: string strValue = GetEnumDes(Url.个人博客); 此时的strValue 变量值为:http://www.thylx.net (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |