[英]Generic Type conversion error on inherited classes
我试图创建一个 mvc 框架来定义我正在处理的项目的工作流程。 我创建了视图和控制器类,并试图让 ui 控制器类是通用的,以便在从 ui 控制器继承时为其分配一种 uiview:
UIView 类
public class UIView
{
}
UIController 类
public class UIController<T> where T : UIView
{
}
UIView类的实现
public class UIMenuView : UIView
{
}
使用 UI 菜单视图实现 UIController 类
public class MenuController : UIController<UIMenuView>
{
}
工作流程实施
void main()
{
var menuController = new MenuController();
SetController(menuController as UIController<UIView>);
}
public void SetController(UIController<UIView> controller, bool asRoot = false)
{
}
问题是我在尝试设置控制器时遇到以下错误:
无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换 [Assembly-CSharp] 将类型“MenuController”转换为“UI.UIController<UI.UIView>”
有人知道我在这里做错了什么吗? 谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.