Getting Enum value via reflection

前端 未结 15 2511
梦如初夏
梦如初夏 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:25

    System.Type.GetType("Namespace Name" + "." + "Class Name" + "+" + "Enum Name")
    
    Dim fieldInfos() As System.Reflection.FieldInfo = System.Type.GetType("YourNameSpaceName.TestClass+TestEnum").GetFields
    
    For Each f As System.Reflection.FieldInfo In fieldInfos 
        If f.IsLiteral Then 
            MsgBox(f.Name & " : " & CType(f.GetValue(Nothing), Integer) & vbCrLf) 
        End If 
    Next 
    
    Public Class TestClass
        Public Enum TestEnum
            val1 = 20
            val2 = 30
        End Enum
    End Class
    

    That works

提交回复
热议问题