Возможно, я неправильно понял значение base.OnLoad(e);
Насколько я понимаю, это утверждение вызовет метод OnLoad базового класса того класса, откуда он вызывается. Однако, когда я использую отладчик для пошагового выполнения кода, я вижу разные результаты.
public abstract class BaseUC : System.Web.UI.UserControl
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
SomeAbstractMethod();
}
}
В конкретном классе ascx.cs
public partial class MyUserControl : BaseUC
{
protected void Page_Load(object sender, EventArgs e)
{
//On Load logic
}
}
У меня есть точка останова на base.OnLoad(e)
. Когда я нажимаю F11 (шаг в), отладчик переводит меня на Page_Load
MyUserControl, поэтому поток управления:
BaseUC.OnLoad()
MyUserControl.Page_Load()
BaseUC.SomeAbstractMethod()
Может кто-нибудь объяснить, что здесь происходит?