Atata iframe SwitchTo method compile error : Using generic type requires 1 type argument
Atata iframe SwitchTo method compile error : Using generic type requires 1 type argument
I have created a Frame control - Frame1
under Class1
:
Frame1
Class1
public Frame<_> Frame1 get; private set;
And defined Class2
for frame page:
Class2
public class Class2<TPage> : Page<TPage> where TPage : Page<TPage>
When I call Frame1.SwitchTo<Class2>()
I get a compile error:
Frame1.SwitchTo<Class2>()
Using generic type requires 1 type argument
Is there any way to resolve this?
I am defining Class2
as above as I want to define other classes inheriting Class2
.
Class2
Class2
1 Answer
1
If your Class2
page object type is a generic base page object, then it cannot be passed directly to SwitchTo
method. You can pass only complete classes. For example you can create non-generic Class2
and pass it.
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>
This will allow you to pass Class2
to SwitchTo
method:
Class2
SwitchTo
Frame1.SwitchTo<Class2>()
or
Frame1.SwitchTo<AnotherClass2>()
Thanks for contributing an answer to Stack Overflow!
But avoid …
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
But avoid …
To learn more, see our tips on writing great answers.
Required, but never shown
Required, but never shown
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.