2017-02-28 81 views
0

我试图将CodedUI XamlControl强制转换为XamlComboBox类型,但是强制转换抛出无法强制转换的异常。将XamlComboBox强制转换为继承的类型不起作用

我的班级:

var comboBox = (MyComboBox) element; 

甚至当我尝试这样奇怪的事情:

public class MyComboBox : XamlComboBox 

当我尝试遍历一个List<XamlControl>在下面的行发生错误

var xamlComboBox = (XamlComboBox) element; 
var comboBox = (MyComboBox) xamlComboBox; 

该错误依然存在于铸造到MyComboBox

任何想法,为什么发生这种情况?

+1

究竟是什么错误? - 对我来说,你似乎试图将任何不是M​​yComboBox的XamlControl强制转换为MyComboBox。 –

+0

元素是否真的是MyComboBox?你确定你的列表不包含类型为XamlComboBox而不是MyComboBox的元素吗? –

回答

1

您的迭代过滤器之前的所有项目,这是不MyComboBox类型:

List<XamlControl> controls = ... 
foreach (var comboBox in controls.Where(c => c is MyComboBox)) { 
    // Here the items are only of type MyComboBox 
}