从变量值中选择使用哪种枚举器

时间:2019-02-19 10:51:11

标签: vb.net enums

我试图使表的生成尽可能地动态,但是我面临着与使用枚举有关的问题 (例如,表的标题必须显示所有可能的枚举值)。

特别是我正在处理2维UI表的创建,以简要总结用户活动项目,其中表头(列)可能为f。项目优先级,行可能是创建项目的用户

       | high | normal | low  | 
-------+------+--------+------+
user_A |  5   |   8    |  3   |
-------+------+--------+------+
user_B |  7   |   0    |  1   |  
-------+------+--------+------+

在这种情况下,高,普通,低是定义优先级的枚举的一部分,但是如果用户希望查看项目的不同状态(打开,进行中)而不是优先级,则可以应用相同的表结构,已过期,已关闭等)
用户还可以交换列和行,但是表必须创建相同的结果

我发现的问题是我不确定标题是否包含枚举或用户打算使用哪个枚举。
有没有一种方法可以根据变量值选择我必须使用的枚举,而无需对代码中的所有枚举进行Select Case [variable_name]的操作?

我认为System.Enum.Parse可能有用,但是它需要System.Type信息作为其第一个参数,而不是类型名称为value的变量

作为参考,我正在尝试获取以下情况

Public Enum foo
    a = 0
    b = 1
End Enum

Public Enum foo1
    x = 0
    y = 1
    z = 2
End Enum

Dim var As String = "foo"
Dim choosenEnum As [var_value]
For Each val As Integer In choosenEnum.GetValues
    System.Enum.GetName([var_value], val)
    'add the found name to the table
Next

0 个答案:

没有答案