private static void Main() { Program.\u003C\u003Ec__DisplayClass1 cDisplayClass1 = new Program.\u003C\u003Ec__DisplayClass1(); cDisplayClass1.x = 1; // ISSUE: method pointer Action action = new Action((object)cDisplayClass1, __methodptr(\u003CMain\u003Eb__0)); cDisplayClass1.x = 3; action(); Console.WriteLine(cDisplayClass1.x); }
public static void Main() { int[] numArray = new int[3] { 1, 2, 3 }; List <Action> list = new List <Action>(); Program.\u003C\u003Ec__DisplayClass1 cDisplayClass1 = new Program.\u003C\u003Ec__DisplayClass1(); foreach (int num in numArray) { cDisplayClass1.number = num; // ISSUE: method pointer list.Add(new Action((object)cDisplayClass1, __methodptr(\u003CMain\u003Eb__0))); } foreach (Action action in list) { action(); } }