枚举选择使用变量vb

时间:2011-11-06 21:26:44

标签: vb.net enumeration

我有一个案例,我的枚举是这样的:

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)?????

3 个答案:

答案 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)