解析用户在C#中提供的枚举值

时间:2011-01-13 18:42:08

标签: c# parsing reflection enums types

我希望用户提供枚举名称,说“颜色”和值,比如“红色”,并告诉他们这是否是该枚举的成员值,或者枚举是否均匀存在。

我该怎么做?

过去,我使用过Type.GetType(“UserProvidedType”)。Parse / Convert.ChangeType,但是当用户提供的类型是枚举时,这似乎不起作用。请参阅: Parsing to primitive types, based on user input in c# 对于过去在这种情况下似乎不起作用的解决方案。

感谢。

1 个答案:

答案 0 :(得分:6)

var type = Type.GetType("YourNameSpace.Color");
var belongs = Enum.GetNames(type).Any(o => o == "Red");