为什么重写必须调用Controll基类中的Initialize(),重写方法不是可以不调用基类中的方法。
public class Default1Controller : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); } }
若要不是不调用Controll基类中的方法,就会报错没有把对象实例。
可以不调用,但是你自己就需要实现base.Initialize(requestContext);的工作了
这个初始化是实现什么工作的?
@河洛之子: 很复杂,是mvc模式中对C的实现,具体可以看它的源代码,mvc已经开源了。
另外调用这个方法对你的程序有影响么?
Initialize 是ControllerBase 的一个虚方法, 你可以重写 也可以不重写, 你重写了那么肯定 是根据自己的需求 去工作,否则你重写在调用 基类的方法 那不是多此一举