C#通过反射拿到枚举,但是里面有个“value__”,怎么办?

 1 using System;
 2 using UnityEngine;
 3 using System.Reflection;
 4 public enum ExampleEnum
 5 {
 6     Value1,
 7     Value2
 8 }
 9 class Program :MonoBehaviour
10 {
11     void Start()
12     {
13         Type enumType = typeof(ExampleEnum);
14         FieldInfo[] fields = enumType.GetFields();
15 
16         foreach (var field in fields)
17         {
18             Debug.LogError(field.Name);
19         }
20     }
21 }

这个样会输出:

 有个value__,很烦人。

FieldInfo[] fields = enumType.GetFields();

改成

FieldInfo[] fields = enumType.GetFields(BindingFlags.Public | BindingFlags.Static);

就会如下图输出,没有value__了:

 

posted @ 2024-08-22 15:12  zerozabuu  阅读(15)  评论(0编辑  收藏  举报