毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

c#2.0 获取枚举对象的描述

更新时间:2013-1-31:  来源:毕业论文

c#2.0 获取枚举对象的描述

/// <summary>     /// 行政级别大小     /// </summary>     public enum LevelPower     {         /// <summary>         /// 员工         /// </summary>         [Description("员工")]         M1 = 1,         /// <summary>         /// 组长         /// </summary>         [Description("组长")]         M2 = 2, ....情人节祝福网页 


如何获取这个[Description("员工")]内容呢,基于2.0的框架,

反射,不管那个版本都一样,记住一条 特性就是给反射用滴
其他地方你就想用都用不了

typeof(LevelPower).GetCustomAttributes(typeof(Description), false);

这样写枚举还有什么优势呢?如果你这个枚举是这样区分不同员工身份的,还不如直接写静态变量
public const string M1="员工";
public const string M2="组长";
尽量不要硬编码,这两种方式都是硬编码。。

/// <summary>         /// 获取枚举值定义的属性         /// </summary>         /// <param name="value"></param>         /// <returns></returns>         private static EnumAttribute GetAttribute(Enum value)         {             if (enumAttr.ContainsKey(value))             {                 EnumAttribute ea = enumAttr[value];                 return ea;             }             else            {                 FieldInfo field = value.GetType().GetField(value.ToString());                 if (field == null) return null;                 EnumAttribute ea = null;                 object[] attributes = field.GetCustomAttributes(typeof(EnumAttribute), true);                 if (attributes != null && attributes.Length > 0)                 {                     ea = (EnumAttribute)attributes[0];                 }                 enumAttr[value] = ea;                 return ea;             }         }


public enum FairBatchState     {         /// <summary>         /// 生效         /// </summary>         [EnumAttribute("生效")]         Enable=1,           /// <summary>         /// 无效         /// </summary>         [EnumAttribute("无效")]         Disable=0     }

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。