我尝试从WPF组合框选择的值转换为枚举器,它在运行时返回无效的强制转换,否则字符串和枚举名称匹配,我的代码是
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)cmbemirate.SelectedValue
答案 0 :(得分:5)
要将字符串转换为enum
,您需要使用Enum.Parse
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)Enum.Parse(typeof(Siren.PfundMemberWebServices.Emirates), cmbemirate.SelectedValue);
答案 1 :(得分:3)
您的问题尚未完成,但在应用显式强制转换时会出现InvalidCastException。但是类型不在类型层次结构的相同路径中。演员阵容没有成功。
使用:
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)Enum.Parse(typeof(Siren.PfundMemberWebServices.Emirates), cmbemirate.SelectedValue);
答案 2 :(得分:1)
如果你有使用组合框的int值,那么你可以尝试:
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)Convert.ToInt32(cmbemirate.SelectedValue)