using System; using System.Collections.Generic; using System.Linq; public class Test { class Bagor { public int i=0; public static Bagor operator ++(Bagor a) { a.i += 1; return a; } public override string ToString() { return "" + i; } } public static void Main() { var actions = new List(); for (var it = new Bagor(); it.i<3; it++ ) { actions.Add(() => Console.WriteLine(it)); } foreach (var action in actions) { action(); } } }