c#怎样获取枚举的描述属性

  介绍

这篇文章给大家分享的是有关c#怎样获取枚举的描述属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

<强>前言

枚举为我看日常开发的可读性提供的非常好的支持,但是有时在使用枚举类型时,我们需要取名称和值,甚至有时候还需要取枚举类型的描述。通过反射,我们能获取到枚举类型的描述属性。

首先我们需要给枚举类型添加描述属性(属性都没有是不可能取到的),[描述]就是描述属性,使用这个属性,我们需要添加使用系统。ComponentModel引用。

public  enum  EnumSex   {///才能,& lt; summary>///才能,男///才能,& lt;/summary>   ,,(描述(“男“))   时间=Male 才能;0,///才能,& lt; summary>   ,,///女///才能,& lt;/summary>   ,,(描述(“女“))   Female 才能=1   }

接着我们需要写一个获取描述属性的方法,FieldInfo需要添加使用系统。反射引用,DescriptionAttribute需要添加使用系统。ComponentModel引用。

public  string  GetEnumDescription (Enum  enumValue)   {   string 才能;value =, enumValue.ToString ();   FieldInfo 才能;field =, enumValue.GetType () .GetField(价值);   对象[],才能objs =, field.GetCustomAttributes (typeof (DescriptionAttribute),假),,,//获取描述属性   if 才能;(objs ==, null  | |, objs.Length ==, 0),,//当描述属性没有时,直接返回名称   ,,,return 价值;   DescriptionAttribute 才能;DescriptionAttribute =, (DescriptionAttribute) obj [0];   return 才能;descriptionAttribute.Description;   }

好了,现在我们可以获取到枚举的描述了。

string  sex =, GetEnumDescription (EnumSex.Female);,//sex =,“女“

同理,我们可以给枚举类型赋上其他类型的属性,比如过时,在GetEnumDescription方法里面将DescriptionAttribute换成ObsoleteAttribute,一样可以取到属性。

感谢各位的阅读!关于“c#怎样获取枚举的描述属性”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

c#怎样获取枚举的描述属性