获取枚举的Integer值,该枚举是通用的

Ros*_*ard 29 vb.net generics enums

这是基本情况.

Public Class MyEnumClass(of T)
   Public MyValue as T
End Class
Run Code Online (Sandbox Code Playgroud)

这是对实际类的过度简化,但基本上我知道T是一个枚举(如果不是那么会有许多其他问题,并且是程序员做出的逻辑错误)

基本上我想得到MyValue的基础整数值.

使用Cint或Ctype不起作用.

jos*_*rry 52

我打算使用一段很酷的反射代码,但只是一个简单的Convert.ToInt32工作很棒...原谅我的VB我是一个C#的家伙

Public Function GetEnumInt(Of T)(enumVal As T) As Integer
    Return Convert.ToInt32(enumVal)
End Function
Run Code Online (Sandbox Code Playgroud)


Ros*_*ard 7

我试过这个并且它有效:

String.Format("{0:d}", MyValue)
Run Code Online (Sandbox Code Playgroud)

  • 好吧,它将它转换为*字符串* - 我以为你想要它作为一个整数? (9认同)