我有三个不同的枚举,三个都有相同的标识符,但值不同。我想根据某些条件访问特定的枚举。
例如:
Public Enum Type1
Font = 10
Color = 11
End Enum
Public Enum Type2
Font = 20
Color = 21
End Enum
Public Enum Type3
Font = 30
Color = 31
End Enum
根据某些条件,我需要访问特定的枚举。例如,
if(somecondition = 1)
return Type1.Font
else if (somecondition = 2)
return Type2.Font
else if (somecondition = 3)
return Type3.Font
我需要重复相同的逻辑来访问其他枚举标识符。有什么方法可以编写返回枚举值的泛型方法吗?
例如,
public function GetEnumValue(enumtype, identifier) as integer
return enumtype.identifier
end function
有没有办法写上面的泛型函数来返回枚举值?
更新:我正在寻找像GetEnumValue(Type1,Font)这样的方法,它返回整数的枚举值(在本例中为type1.font为10)
答案 0 :(得分:3)
答案 1 :(得分:1)
您的问题非常不清楚。
您可能正在寻找
return Enum.Parse(enumType, valueName);
其中enumType
是Type
个对象,valueName
是字符串。