将值/类型字符串对转换为C#中的枚举值

时间:2015-03-02 10:46:47

标签: c# enums

这是我的声明。

public enum Egypt {
    Cairo = (long)1521894,
    Alexandria = (long)1522006,
    Giza = (long)1521643
}

从aspx页面我得到值Egyptquery-string。使用此值,我想解析此枚举Egypt的名称和值。

var values = Enum.GetValues(typeof(Egypt)).Cast<Egypt>();
foreach (Egypt in values)
{
    long woeid = ((long)(Egypt)(s));
}

我有代码来获取这样的值,但我的观点是值enum - 埃及本身是在运行时确定的。我将如何实现它?

1 个答案:

答案 0 :(得分:4)

您可以使用反射来查找类型:

var vals = Enum.GetValues(Type.GetType("Egypt"));

小提琴:https://dotnetfiddle.net/AxlFW7

当然,您需要添加正确的命名空间和/或在所需的程序集中找到它并检查可能的错误