将value/type字符串对转换为C#中的枚举值
Convert value/type string pair to enumeration value in C#
这是我的声明。
public enum Egypt {
Cairo = (long)1521894,
Alexandria = (long)1522006,
Giza = (long)1521643
}
从 aspx 页面我得到值 Egypt
作为 query-string
。有了这个值,我想解析这个枚举的名称和值 Egypt
.
var values = Enum.GetValues(typeof(Egypt)).Cast<Egypt>();
foreach (Egypt in values)
{
long woeid = ((long)(Egypt)(s));
}
我有代码来获取这样的值,但我的意思是值枚举 - 埃及本身是在运行时确定的。我将如何实现它?
您可以使用反射来查找类型:
var vals = Enum.GetValues(Type.GetType("Egypt"));
Fiddle: https://dotnetfiddle.net/AxlFW7
当然,您需要添加正确的命名空间and/or在所需的程序集中找到它并检查可能的错误
这是我的声明。
public enum Egypt {
Cairo = (long)1521894,
Alexandria = (long)1522006,
Giza = (long)1521643
}
从 aspx 页面我得到值 Egypt
作为 query-string
。有了这个值,我想解析这个枚举的名称和值 Egypt
.
var values = Enum.GetValues(typeof(Egypt)).Cast<Egypt>();
foreach (Egypt in values)
{
long woeid = ((long)(Egypt)(s));
}
我有代码来获取这样的值,但我的意思是值枚举 - 埃及本身是在运行时确定的。我将如何实现它?
您可以使用反射来查找类型:
var vals = Enum.GetValues(Type.GetType("Egypt"));
Fiddle: https://dotnetfiddle.net/AxlFW7
当然,您需要添加正确的命名空间and/or在所需的程序集中找到它并检查可能的错误