0
我真的想这样做......为什么不能声明一个也继承的通用基类?
public class BaseController<T> where T : IPageModel, Controller
但视觉工作室犯规喜欢它。控制器是MVC中的一个类。我的页面模型可以确保获得某些模型的东西。我的语法错了吗?
我真的想这样做......为什么不能声明一个也继承的通用基类?
public class BaseController<T> where T : IPageModel, Controller
但视觉工作室犯规喜欢它。控制器是MVC中的一个类。我的页面模型可以确保获得某些模型的东西。我的语法错了吗?
正确的语法是:下面的where
关键字
public class BaseController<T>: Controller where T : IPageModel
一切都被认为是通用的约束声明。在你的情况下,你想让你的类从Controller
派生,所以你首先指出这一点,并在最后指定通用约束。
现在你的实际控制人也从这个基本控制器得出:
public class FooController: BaseController<Foo>
{
...
}
这里显然Foo
必须实现IPageModel
这是由通用约束强制执行:
public class Foo: IPageModel
{
...
}
非常感谢! – Exitos
什么是应该继承/实现呢? 'BaseController'到'Controller'和'T'到'IPageModel'? –
BoltClock