2017-02-28 84 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 
}