指定演员表无效

时间:2014-06-26 01:41:24

标签: winforms c#-4.0

我尽力投出价值,但有些我如何继续得到这个例外。希望有人会指导我走正确的道路。

这是我的代码

此类型来自服务

 public enum ChannelCodeType {

    /// <remarks/>
    A1,

    /// <remarks/>
    A2,

    /// <remarks/>
    A3,

    /// <remarks/>
    A4,
}

在我的winform中我有一个生成所有这些频道的列表框,我尝试在列表框中投射所选频道并将其传递给频道类型,但这给我带来了困难。

 ChannelCodeType[] ChannelCodes;
ChannelCodes=lbSearch.SelectedItems.ToString().Cast<ChannelCodeType>().ToArray();

然后我尝试下面也失败了

string[] destination = new string[lbSearch.Items.Count];
        lbSearch.Items.CopyTo(destination, 0);
        ChannelCodes = destination.Cast<ChannelCodeType>().ToArray();

以两种方式一直抱怨演员表无效。

1 个答案:

答案 0 :(得分:4)

ChannelCodes = destination.Select(e => (ChannelCodeType)Enum.Parse(typeof(ChannelCodeType),e)).ToArray();

尝试类似上面的内容。

您当前的方法存在的问题是您无法直接将字符串转换为枚举。你必须解析它。