Winforms 指定的强制转换无效

Winforms 指定的强制转换无效,winforms,c#-4.0,Winforms,C# 4.0,我尽了我最大的努力来施展价值,但是有些人告诉我我是如何得到这个例外的。希望有人能指引我走上正确的道路 这是我的密码 这种类型的服务不可用 public enum ChannelCodeType { /// <remarks/> A1, /// <remarks/> A2, /// <remarks/> A3, /// <remarks/> A4, } 公共枚举Channel

我尽了我最大的努力来施展价值,但是有些人告诉我我是如何得到这个例外的。希望有人能指引我走上正确的道路

这是我的密码

这种类型的服务不可用

 public enum ChannelCodeType {

    /// <remarks/>
    A1,

    /// <remarks/>
    A2,

    /// <remarks/>
    A3,

    /// <remarks/>
    A4,
}
公共枚举ChannelCodeType{
/// 
A1,
/// 
A2,
/// 
A3,
/// 
A4,
}
在我的winform中,我有一个生成所有这些频道的列表框,我尝试在列表框中强制转换所选频道并将其传递给频道类型,但这给了我一段艰难的时间

 ChannelCodeType[] ChannelCodes;
ChannelCodes=lbSearch.SelectedItems.ToString().Cast<ChannelCodeType>().ToArray();
ChannelCodeType[]channelcode;
ChannelCodes=lbSearch.SelectedItems.ToString().Cast().ToArray();
然后我试着像下面一样也失败了

string[] destination = new string[lbSearch.Items.Count];
        lbSearch.Items.CopyTo(destination, 0);
        ChannelCodes = destination.Cast<ChannelCodeType>().ToArray();
string[]destination=新字符串[lbSearch.Items.Count];
lbSearch.Items.CopyTo(目标,0);
ChannelCodes=destination.Cast().ToArray();
在这两方面,它都不断抱怨cast是无效的

ChannelCodes = destination.Select(e => (ChannelCodeType)Enum.Parse(typeof(ChannelCodeType),e)).ToArray();
试试上面的方法

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

试试上面的方法


当前方法的问题是无法直接将字符串强制转换为枚举。您必须对其进行分析。

尝试您的建议后,它会抛出新异常“无法隐式将Object[]类型转换为ChannelCodeType[]”,尝试您的建议后,它会抛出新异常“无法隐式将Object[]类型转换为ChannelCodeType[]”。