我有一个案例,我的枚举是这样的:
Public Const PREVIEWCREATE As Integer = -3
Public Const SETUP As Integer = -2
Public Const PREVIEW As Integer = -1
然后我有一个表单帖子,我恢复了一个字符串,如:
Dim mode_custom_mode = request.Form("custom_mode")
我能做到
Select Case UCase(mode_custom_mode)
Case "PREVIEWCREATE"
t.StartupModeId = StartupMode.PREVIEWCREATE
Case "SETUP"
t.StartupModeId = StartupMode.SETUP
...
在VB中有更直接的方式来执行以下操作:
t.StartupModeId = StartupMode。(mode_custom_mode)?????
答案 0 :(得分:0)
我相信这就是你想要的东西
private enum StartupMode
PREVIEWCREATE = -3
SETUP = -2
PREVIEW = -1
end enum
t.StartupModeId = [Enum].Parse(GetType(StartupMode), mode_custom_mode)
答案 1 :(得分:0)
你的意思是如何将字符串解析为枚举?试试这个:
Private Enum StartupMode
PREVIEWCREATE
SETUP
PREVIEW
End Enum
t.StartupModeId = DirectCast([Enum].Parse(GetType(StartupMode), mode_custom_mode), StartupMode)
和以下相同:
t.StartupModeId = DirectCast([Enum].Parse(GetType(StartupMode), "PREVIEWCREATE"), StartupMode)
答案 2 :(得分:0)
这是执行此操作的正确方法。
private enum StartupMode
PREVIEWCREATE = -3
SETUP = -2
PREVIEW = -1
end enum
t.StartupModeId = [Enum].Parse(GetType(StartupMode), mode_custom_mode)