返回無效投我試圖從WPF組合框中選擇的值轉換爲enumurator它在運行,否則該字符串和枚舉名稱匹配我的代碼返回無效的演員陣容轉換在WPF
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)cmbemirate.SelectedValue
返回無效投我試圖從WPF組合框中選擇的值轉換爲enumurator它在運行,否則該字符串和枚舉名稱匹配我的代碼返回無效的演員陣容轉換在WPF
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)cmbemirate.SelectedValue
將字符串轉換到你需要使用Enum.Parse
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)Enum.Parse(typeof(Siren.PfundMemberWebServices.Emirates), cmbemirate.SelectedValue);
需要'typeof(Siren.PfundMemberWebServices.Emirates)''Parse()' –
@MatthewWatson的第一個參數 - 謝謝。我在你的評論之前改變了它! – Sean
你的問題是不完整的,但是當施加顯式的轉換髮生InvalidCastException的enum
。但是類型不在類型層次結構的相同路徑中。演員陣容不成功。
用途:
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)Enum.Parse(typeof(Siren.PfundMemberWebServices.Emirates), cmbemirate.SelectedValue);
如果你有一個組合框int類型,那麼你可以嘗試:
Siren.PfundMemberWebServices.Emirates EM = (Siren.PfundMemberWebServices.Emirates)Convert.ToInt32(cmbemirate.SelectedValue)
什麼是選擇值的類型? – ilansch
什麼是所選對象的類型是字符串 –
http://stackoverflow.com/questions/16100/how-do-i-convert-a-string-to-an-enum-in-c - 所以在定義問題後 - 我們可以看到它是重複的:) – ilansch