using System; class Program { public delegate object D (int member); private D _value; private object M (int member) { return null; } void Test_1 () { Delegate d1 = M + _value; Delegate d2 = _value + M; } public bool Test_2 () { return _value == M; } public bool Test_3 () { return _value != M; } public bool Test_4 (D d) { return d == _value; } public static int Main () { Program p = new Program (); if (p.Test_2 ()) return 1; p._value = p.M; if (!p.Test_2 ()) return 2; if (p.Test_3 ()) return 3; Console.WriteLine ("OK"); return 0; } }