Getting Enum value via reflection

前端 未结 15 2536
梦如初夏
梦如初夏 2020-12-05 01:35

I have a simple Enum

 public enum TestEnum
 {
     TestOne = 3,
     TestTwo = 4
 }

var testing = TestEnum.TestOne;

And I want to retrieve

15条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-05 02:40

    Or, if you needed the actual enum object (of type TestEnum) :

    MemberInfo[] memberInfos = typeof(MyEnum).GetMembers(BindingFlags.Public | BindingFlags.Static);
    string alerta = "";
    for (int i = 0; i < memberInfos.Length; i++) {
    
    alerta += memberInfos[i].Name + " - ";
    
    
    /* alerta += memberInfos[i].GetType().Name + "\n"; */ 
    
    // the actual enum object (of type MyEnum, above code is of type System.Reflection.RuntimeFieldInfo)
    object enumValue = memberInfos[i].GetValue(0);
    alerta += enumValue.ToString() + "\n";
    }
    

提交回复
热议问题