public static int Main() { I.GetTextFn _ = I.GetText; Console.WriteLine("Value: " + I.GetText); X x = new X(); Thread thr = new Thread(new ThreadStart(x.Thread_func)); thr.Start(); Console.WriteLine("Inside main "); thr.Join(); Console.WriteLine(_("Hello")); x.Bar(); MemberFilter filter = new MemberFilter(MyFilter); Type t = x.GetType(); MemberInfo [] mi = t.FindMembers(MemberTypes.Method, BindingFlags.Static | BindingFlags.NonPublic, Type.FilterName, "MyFilter"); Console.WriteLine("FindMembers called, mi = " + mi); Console.WriteLine(" Count: " + mi.Length); if (!filter(mi [0], "MyFilter")) { return(1); } // // This test is used to call into a delegate defined in a separate // namespace, but which is still not a nested delegate inside a class // NameSpace.TestDelegate td = new NameSpace.TestDelegate(multiply_by_three); if (td(8) != 24) { return(30); } // // Check the names that were used to define the delegates // if (td.GetType().FullName != "NameSpace.TestDelegate") { return(31); } if (_.GetType().FullName != "I+GetTextFn") { return(32); } Console.WriteLine("Test passes"); return(0); }
public static int Main () { I.GetTextFn _ = I.GetText; Console.WriteLine ("Value: " + I.GetText); X x = new X (); Thread thr = new Thread (new ThreadStart (x.Thread_func)); thr.Start (); Console.WriteLine ("Inside main "); thr.Join (); Console.WriteLine (_("Hello")); x.Bar (); MemberFilter filter = new MemberFilter (MyFilter); Type t = x.GetType (); MemberInfo [] mi = t.FindMembers (MemberTypes.Method, BindingFlags.Static | BindingFlags.NonPublic, Type.FilterName, "MyFilter"); Console.WriteLine ("FindMembers called, mi = " + mi); Console.WriteLine (" Count: " + mi.Length); if (!filter (mi [0], "MyFilter")) return 1; // // This test is used to call into a delegate defined in a separate // namespace, but which is still not a nested delegate inside a class // NameSpace.TestDelegate td = new NameSpace.TestDelegate (multiply_by_three); if (td (8) != 24) return 30; // // Check the names that were used to define the delegates // if (td.GetType ().FullName != "NameSpace.TestDelegate") return 31; if (_.GetType ().FullName != "I+GetTextFn") return 32; Console.WriteLine ("Test passes"); return 0; }