获取: Type type = typeof(ParamServiceType); var values = Enum.GetValues(type); ; i < values.Length; i++) { var v = values.GetValue(i); var member = type.GetMember(v.ToString()); DescriptionAttribute des = (DescriptionAttribute)System.Attribute.GetCusto
封装了方法: public static class EnumOperate { public class BaseDescriptionAttribute : DescriptionAttribute { public BaseDescriptionAttribute(string descriptionCN) : base(descriptionCN) { } public BaseDescriptionAttribute(string descriptionCN, string descr
我们需要获取类,属性,方法的描述.这个跟获取枚举的描述一样,需要我们通过反射来做.这还需要我们的利用System.ComponentModel:Description 的属性来完成. 新建一个类:使用的是: System.ComponentModel:Description [Description("类的描述")] public class TestDes { [Description("id值")] public int Id { get; set; } [
C#里面经常会用到枚举类型,枚举是值类型对象,如果你想用枚举类型的多属性特性,或者你想在MVC页面上通过简单的值类型转换,将某字段值所代表的含义转换为文字显示,这时候必须要将枚举扩展,是它支持文本描述属性,或者显示名称属性,亦或者多语言支持.例如同一个值类型的字段值,你想让它显示中文描述,英文描述…… 请看下面的扩展示例: using System; using System.Collections.Generic; using System.Linq; using System.Ref
Enum使用 获取枚举属性 注意:扩展方法必须定义为静态类,静态方法中. public enum EnumPatientSource { [Description("住院")] INHOSPITAL = -1, [Description("门诊")] OUTPATIENT = 0, } public static class EnumHelper { public static string ToDescription(this Enum val) { var ty
有时候我们用数字来区分一些类型,如1:中国银行,2:建设银行,3:工商银行,…….这时候我在代码中通常会定义枚举来与定义的一一对应,并在该枚举值上设置特性来表示所代表的含义,这样避免多处写一些数字来标识所代表的类型.而且后续添加修改也很方便. 首先,自定义一个特性描述类: public class DescriptionAttribute : Attribute { public static readonly DescriptionAttribute Default; public Descr