// // Nested anonymous methods and capturing of variables test // using System; delegate void D (); class X { public static int Main () { X x = new X(); x.M (); e (); Console.WriteLine ("J should be 101= {0}", j); if (j != 101) return 3; Console.WriteLine ("OK"); return 0; } static int j = 0; static D e; void M () { int l = 100; D d = delegate { int b; b = 1; Console.WriteLine ("Inside d"); e = delegate { Console.WriteLine ("Inside e"); j = l + b; Console.WriteLine ("j={0} l={1} b={2}", j, l, b); }; }; Console.WriteLine ("Calling d"); d (); } }