Atata iframe Ошибка компиляции метода SwitchTo: использование универсального типа требует аргумента 1 типа
Я создал элемент управления Frame - 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 ответ
Если твой 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>()