1

大约一个小时前,我提出了一个问题,询问如何做类似的事情,在我得到一些帮助后,我能够做到。基本上,我收到一条错误消息:“无法确定条件表达式的类型,因为 'string' 和 'UltimateTeam.Toolkit.Parameter.Formation' 之间没有隐式转换”

这是代码,正在搜索玩家:我在 Formation 的行上也收到错误消息。

public async void start()
        {
                var searchRequest = new SearchRequest();
                var searchParameters = new PlayerSearchParameters
                {
Formation = comboBox2.SelectedItem == null ? Formation.FourThreeThree : (Formation)(comboBox2.SelectedItem as ComboboxItem2).Value2,
};

第二段代码:

foreach (Formation formation in Enum.GetValues(typeof(Formation)))
            {
                ComboboxItem2 item2 = new ComboboxItem2();
                item2.Text2 = formation.ToString();
                item2.Value2 = formation;
                comboBox2.Items.Add(item2);
            }

最后一段代码:

public class ComboboxItem2
        {
            public string Text2 { get; set; }
            public object Value2 { get; set; }

            public override string ToString()
            {
                return Text2;
            }
        }

关于如何修复它的任何想法?

谢谢,

杰克。

4

1 回答 1

2

用于Enum.Parse将 转换string为您的枚举类型Formation

Formation = comboBox2.SelectedItem == null 
           ? Formation.FourThreeThree 
           : (Formation) Enum.Parse(typeof(Formation), comboBox2.Text);

编辑所以PlayerSearchParameters.Formation是 a string,这应该工作:

Formation = comboBox2.SelectedItem == null 
           ? Formation.FourThreeThree.ToString()
           : comboBox2.Text,
于 2013-08-21T07:28:24.900 回答