using System; class C { public static void Main () { new C ().Test (); } void Test () { var v = new View (); v.Click += async (o, e) => { var b = new Builder (); b.SetButton (() => { Console.WriteLine (this); }); }; v.Run (); } } class View { public event EventHandler Click; public void Run () { Click (null, null); } } class Builder { public void SetButton (Action h) { h (); } }