介绍
这篇文章给大家分享的是有关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#怎样获取枚举的描述属性”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!