static void Main() { Base x = new Derived(); x.Foo += (sender, e) => { }; x.Bar(); Base x2 = new Derived2(); x2.Foo += (sender, e) => { }; x2.Bar(); }