using System; using System.Collections.Generic; delegate void D (object param); class T { void Assert (object a) { } void Execute (Action a) { } private D GetD (object input) { return delegate (object param) { IList col = null; try { object v = null; Execute (() => { v = col[0]; Assert (input); }); } finally { } }; } public static void Main () { new T ().GetD (null) (9); } }