Atata iframe SwitchTo方法编译错误:使用泛型需要1个类型参数

时间:2018-09-01 03:10:46

标签: c# automated-tests ui-automation atata

我已经在Frame1下创建了一个框架控件-Class1

public Frame<_> Frame1 { get; private set; }

并为框架页面定义了Class2

public class Class2<TPage> : Page<TPage> where TPage : Page<TPage>

调用Frame1.SwitchTo<Class2>()时出现编译错误:

  

使用通用类型需要1个类型参数

有什么办法解决这个问题?

我要如上所述定义Class2,因为我想定义其他继承Class2的类。

1 个答案:

答案 0 :(得分:0)

如果您的Class2页面对象类型是通用基础页面对象,则无法将其直接传递给SwitchTo方法。您只能通过完整的课程。例如,您可以创建非通用的Class2并将其传递。

// Base page object.
public class Class2<TOwner> : Page<TOwner> where TOwner : Class2<TOwner>
{
}

public class Class2 : Class2<Class2>
{
}

public class AnotherClass2 : Class2<AnotherClass2>
{
}

这将允许您将Class2传递给SwitchTo方法:

Frame1.SwitchTo<Class2>()

Frame1.SwitchTo<AnotherClass2>()