如果你在enum api中查看方法,name()它会说:
返回此枚举常量的名称,与其枚举声明中声明的完全相同.大多数程序员应优先使用toString方法,因为toString方法可能会返回一个更加用户友好的名称.此方法主要用于特殊情况,其中正确性取决于获取确切名称,该名称在不同版本之间不会有所不同.
为什么更好用toString()?我的意思是当name()已经是final时,可以覆盖toString.因此,如果您使用toString并且有人覆盖它以返回硬编码值,则整个应用程序都会关闭...另外,如果您查看源代码,则toString()方法将返回完全正确的名称.这是同一件事.
我正在尝试创建一个函数,我们可以获得EnumValue的Namevalue
例如:
Get_Enum_ValueName(DayOfWeek, 0)
Run Code Online (Sandbox Code Playgroud)
......这将返回" 星期天 ".
但我的代码不起作用,它说类型没有定义:
Private Function Get_Enum_ValueName(Of T)(ByVal EnumName As T, ByVal EnumValue As Integer) As String
Return DirectCast([Enum].Parse(GetType(EnumName), EnumValue ), EnumName).ToString
End Function
Run Code Online (Sandbox Code Playgroud)