public static void Main()
var derived = new Derived();
public abstract class Base
public event EventHandler Foo;
public void Raise() => this.Foo?.Invoke(this, EventArgs.Empty);
public class Derived : Base
this.Foo += (o, e) => Console.WriteLine("Foo called");