Imports System
Public Module Module1
Public Enum Test
Value1
Value2
Value3
Value4
End Enum
Public Sub Main()
' This works because it is doing a cast of the value... so Int casted to String
Console.WriteLine(CStr(Test.Value1))
' This doesn't because the Enum.ToString() is overloaded and return the enum value "name"
Console.WriteLine(Test.Value2.ToString())
' This doesn't because it calls the ToString
Console.WriteLine(String.Format("{0}", Test.Value3))
' This works and is acceptable to used for Enums without using the CStr
Console.WriteLine(Test.Value4.ToString("D"))
End Sub
End Module