How to use an event handler from baseclass

Is it possible to use ChangeHappend in my derived class. If so, how? If not, what should I do instead?

class Base { public delegate void ChangeHandler(object sender); public event ChangeHandler ChangeHappend; private int _foo; public int Foo { set { if (_foo == value) return; _foo = value; ChangeHappend(this); } } } class Derived : Base { private int _bar; public int Bar { set { if (_bar == value) return; _bar = value; ChangeHappend(this); // This line gives an error. How can I use ChangeHappend here in Derived? } } } 
+4
source share
1 answer

Use standard template: In [EventName]

 public class MyBaseClass { protected virtual void OnSomethingHappend( EventArgs e ) { EventHandler handler = this.SomethingHappend; if ( null != handler ) { handler( this, e ); } } public event EventhHandler SomethingHappend; } public MyDerivedClass : MyBaseClass { public void DoSomething() { this.OnSomethingHappend( EventArgs.Empty ); } } 
+9
source

All Articles