我一直在尝试将泛型引入我们的自动化代码,因此我尝试将 WpfControl 转换为泛型类型 T,其中 T 被约束为 WpfControl 类型。
return control as T;
T 将始终是 WpfControl 的子级,但是当我将 WpfControl 类型的控件转换为泛型类型时,它返回 null。我还尝试将控制强制转换为确切的子类型,例如:
var childControl = control as WpfTabList;
这仍然返回
null
。任何人都遇到过类似的问题?看到这个 WpfControl Class
最佳答案
一些建议:
首先,在您的泛型方法中,请使用 geteric 类型规范。喜欢
public T GetControl<T>(...) where T : WpfControl
你的假设和实现有一个misconsistnace
您正在尝试将
WpfControl
与 WpfTabList
匹配,这在子控件不是 TabList 的情况下是错误的。关于c# - 编码的 UI 测试向下转换不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13741999/