首页 > 其他 > 详细

遍历枚举类型心得

时间:2014-03-12 11:34:50      阅读:462      评论:0      收藏:0      [点我收藏+]

1.通过反射获取枚举字段时,第一个字段时系统带的字段,类型是Int, Name貌似是_value.

需要过滤掉;

bubuko.com,布布扣
fi.FieldType == typeof(T);

或者

 if (fi.IsSpecialName) continue;
bubuko.com,布布扣

 

另外获取Name, Value, Description

bubuko.com,布布扣
                string name = fi.Name;
                object value = Convert.ToInt32(fi.GetRawConstantValue());
                DescriptionAttribute[] descs = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
                var desc = descs.Length > 0 ? descs[0].Description : "";

                Console.WriteLine(string.Format("name:{0}; value:{1} ; des:{2}", name, value, desc));
bubuko.com,布布扣

 

另外,Enum中有个静态方法,GetValues() 返回object[]  里面是name, 强转int 可以获得对应的value.

遍历枚举类型心得,布布扣,bubuko.com

遍历枚举类型心得

原文:http://www.cnblogs.com/xinjian/p/3595406.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!