为什么我们总是调用基类方法,如base.OnInit()

Rit*_*itu 1 asp.net

我是asp .net的新手.我无法理解为什么当我们覆盖方法/事件时调用基类方法.如果你重写OnInit,自动视觉工作室将放置base.OnInit().

  protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
    }
Run Code Online (Sandbox Code Playgroud)

Finalize的情况也是如此.在派生中我们调用base.Finalize()

是否需要调用这些基类方法?

谢谢

日图

Pad*_*ddy 7

是的,如果你没有把它放进去,那么基础OnInit方法中的任何代码都不会运行,你可能会错过一些重要的东西......

通常,当你想要做的事,你会重写这些方法附加.如果要完全更改它们,请不要调用基本方法.

  • @Forgiver-这取决于您的代码在做什么...如果它正在执行基本初始化将依赖的操作,则先执行,否则,可能以后再执行...,但这实际上取决于您的要求。 (2认同)