我一直在尝试将泛型引入我们的自动化代码,因此我尝试将 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
您正在尝试将 WpfControlWpfTabList 匹配,这在子控件不是 TabList 的情况下是错误的。

关于c# - 编码的 UI 测试向下转换不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13741999/

10-11 21:41