您的位置:首页 > 编程语言 > C#

C# 获取枚举类型中所有描述信息

2012-07-09 23:08 274 查看
  今天心情好;回家没什么事干;于是就坐下来写点代码打发无聊的时间;一时也不知道写点什么好呢?于是想到了最近上班经常用的获取枚举类型中的所有属性的描述信息;所以就给自己一个温故而知新的机会。本人作者作为菜鸟军团中的一员。没有多大思想与见解,所以难免发一点没多大意义的文章;希望各位谅解。

  1.应用的命名空间

  using System.ComponentModel;
  using System.Reflection;

  2、定义枚举类

获取描述信息方法

public void GetEnumDesc<Ttype>(Ttype Enumtype)
{
if (Enumtype == null) throw new ArgumentNullException("Enumtype");
if (!Enumtype.GetType().IsEnum) throw new Exception("参数类型不正确");

FieldInfo[] fieldinfo = Enumtype.GetType().GetFields();
foreach (FieldInfo item in fieldinfo)
{
Object[] obj = item.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (obj != null&&obj.Length!=0)
{
DescriptionAttribute des = (DescriptionAttribute)obj[0];
Console.WriteLine(des.Description);
}
}
}


  

  4、知识总结:

    4.1熟悉FieldInfo的用法和属性(发现字段特性并提供对字段员数据的访问权)

    4.2理解C#泛型的应用

  这个方法如果大家在项目当中扩展的好可以起到一定的举足轻重的作用。如果有什么建议的同仁;希望多多指点;感激不尽;您的指点让我又进步了一点。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: