我已经在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
的类。
答案 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>()