C#通过反射获取枚举值列表
2017-11-03 18:04
204 查看
通过Type.GetFields(BindingFlags.Static)获取枚举值列表,然后通过FieldInfo.GetValue(null)就能获取到值,注意是传入null,像获取静态值和常量那样。
返回的值可以直接强转为int,因为枚举的基础类型就是int。
如果获取所有的字段信息,会发现里面有个System.Int32 value__,他是个隐藏的变量,用来存储枚举的实际值。这也说明,枚举的基础类型是int
返回的值可以直接强转为int,因为枚举的基础类型就是int。
如果获取所有的字段信息,会发现里面有个System.Int32 value__,他是个隐藏的变量,用来存储枚举的实际值。这也说明,枚举的基础类型是int
public enum MyTestEnum { A = 0, B = 5, C = 100, }
FieldInfo[] fields = typeof(MyTestEnum).GetFields(); for(int i = 0; i < fields.Length; i++) { if(i > 0) Debug.Log(fields[i] + "--->" + (int)fields[i].GetValue(null)); else Debug.Log(fields[i]); }
相关文章推荐
- C# 通过反射获取MVC Controller里的类名,方法名,参数列表,返回值类型,Description描述,自定义Attribute
- c#通过反射获取类上的自定义特性
- c#通过反射设置和获取值
- android上通过反射,获取存储器列表
- ASP.NET通过反射获取泛型列表,从而节省代码量
- ArcEngine利用C#反射获取事件列表
- c#通过反射获取类上的自定义特性
- C#通过反射获取按钮的文本
- C#中的特性 和 通过反射获取属性上的特性
- C#反射实例应用--------获取程序集信息和通过类名创建类实例
- C#通过反射获取上层调用方法信息
- android上通过反射,获取存储器列表
- C#中通过反射获取类中非公有成员
- C#给枚举增加一个Attribute,并通过反射获取Attribute的值。(借鉴)
- c#通过反射获取类上的自定义特性
- C#中通过反射方法获取控件类型和名称
- c#通过反射获取类上的自定义特性
- <转>通过反射获取Form/MenuStrip/ContextMenuStrip等列表
- C#反射 获取程序集信息和通过类名创建类实例
- c# 如何通过反射 获取属性值