在覆盖C#for ASP.NET中的方法时,我应该调用基类实现吗?

Mat*_*att 6 c# asp.net oop overriding

我理解重写一个方法/函数从它在基类中的实现重新定义它在派生类中的实现.

现在令我困惑的是,如果我覆盖ASP.NET中的一个类CreateChildControls()(我没有特殊原因随机选择它),VS2008自动生成:

protected override void CreateChildControls()
{
   base.CreateChildControls();
}
Run Code Online (Sandbox Code Playgroud)

足够好,默认实现只调用基类' CreateChildControls().

所以,如果我想运行一些代码,因为我不知道如何base.CreateChildControls(),我应该这样做:

protected override void CreateChildControls()
{
   /*My Code Here*/                    
   base.CreateChildControls();
}
Run Code Online (Sandbox Code Playgroud)

或者,base.CreateChildControls()完全忽略了什么,只是做了

protected override void CreateChildControls()
{
   /*My Code Here*/                    
}
Run Code Online (Sandbox Code Playgroud)

JP *_*oto 11

随你(由你决定.一般来说,你想调用基类方法,因为它可能会做很多你不知情的东西(特别是在你无法控制的类中......得到它?控制.)但是,如果你对自己很有信心的话不需要(或想要)基类"stuff"发生,你可以删除调用.

  • 我必须拥有这种自由.仅仅因为我是你的孩子,并不意味着我想像你一样做所有事情.有时,我需要走出世界,按照自己的方式做事.如果你强迫我实施你,那么你将是一个过度保护的父母.:) (7认同)