加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

C#取枚举描述

发布时间:2021-05-21 07:25:53 所属栏目:大数据 来源: https://www.jb51.cc
导读:一直都觉得枚举是个很不错的东西,可以给我们带来很多方便,而且也增加代码的可读性。 我在之前已经介绍过枚举的简要应用了,再次再来写下怎么获取枚举的描述。 源码如下: 首先,我们定义个含有描述的枚举类型 public ? enum Url{ ??? [ Description ( "htt

一直都觉得枚举是个很不错的东西,可以给我们带来很多方便,而且也增加代码的可读性。 我在之前已经介绍过枚举的简要应用了,再次再来写下怎么获取枚举的描述。 源码如下: 首先,我们定义个含有描述的枚举类型

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

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读