c# - How to hide event subscription of the first member in inheritance -


i have following inheritance structure in wpf application:

enter image description here

in windowalpha, there activated event subscription:

public class windowalpha : window {     public windowalpha()     {         activated += (x, y) => messagebox.show("started");     } } 

the windowbravo class doesn't event:

public class windowbravo : windowalpha { } 

in mainwindow, intend rid of subscription, tried this:

public partial class mainwindow : windowbravo {     public mainwindow()     {         initializecomponent();         this.activated += (x, y) => { };     } } 

also tried this:

public partial class mainwindow : windowbravo {     public mainwindow()     {         initializecomponent();         base.activated += (x, y) => { };     } } 

none of these usages affect the base of inheritance.

what can hide base activated event handling?

with anonymous delegates can't. way know of use actual method virtual.

public class windowalpha : window {     public windowalpha()     {         activated += myonactivated;     }      protected virtual void myonactivated(object sender, eventargs args)     {         messagebox.show("started")     } }  public class windowbravo : windowalpha { }  public partial class mainwindow : windowbravo {     public mainwindow()     {         initializecomponent();     }      protected override void myonactivated(object sender, eventargs args)     {     } }