public static void RunTest(IDemoOne demo) { Console.WriteLine(); demo.SomeEvent += HandleSomeEventA; demo.FireOffSomeEvent(); Console.WriteLine(); demo.SomeEvent -= HandleSomeEventA; demo.FireOffSomeEvent(); Console.WriteLine(); demo.SomeEvent += delegate(string arg1, object arg2, double arg3, MyTuple mt) { Console.WriteLine("SomeEvent handler: " + arg1 + ", " + arg2 + ", " + arg3 + ", " + mt.A + ", " + mt.B); }; demo.SomeEvent += delegate(string arg1, object arg2, double arg3, MyTuple mt) { Console.WriteLine("SomeEvent handler two: " + arg1 + ", " + arg2 + ", " + arg3 + ", " + mt.A + ", " + mt.B); }; demo.FireOffSomeEvent(); Console.WriteLine(); Console.WriteLine(demo.GetSomeVariant()); Console.WriteLine(); demo.Say2("demo.Say2"); ((IDemoTwo)demo).Say2("((IDemoTwo)demo).Say2"); demo.SayEnum(DemoEnum.Bar, DemoEnum.Foo); /* * uint n; * string ostr; * demo.WithOutParameters (out n, "21", out ostr); * Console.WriteLine ("n: " + n); * Console.WriteLine ("ostr: " + ostr); */ /* * IDemoOne[] objs = demo.GetObjArr (); * foreach (IDemoOne obj in objs) * obj.Say ("Some obj"); */ Console.WriteLine("SomeProp: " + demo.SomeProp); demo.SomeProp = 321; DemoProx demoProx = demo as DemoProx; if (demoProx != null) { //demoProx.SayRepeatedly(5, "Repetition"); //demoProx.GetType().InvokeMember("RepProx", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static, null, null, new object[] {demoProx, 5, "Lala"}); //demoProx.GetType().GetMethod("RepProx").Invoke(null, new object[] {demoProx, 5, "Lala"}); demoProx.GetType().GetMethod("RepProx", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static).Invoke(null, new object[] { demoProx, 5, "Lala" }); //demoProx.GetType().InvokeMember("RepProx", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, demoProx, new object[] {5, "Lala"}); } demo.ThrowSomeException(); }
public static void RunTest (IDemoOne demo) { Console.WriteLine (); demo.SomeEvent += HandleSomeEventA; demo.FireOffSomeEvent (); Console.WriteLine (); demo.SomeEvent -= HandleSomeEventA; demo.FireOffSomeEvent (); Console.WriteLine (); demo.SomeEvent += delegate (string arg1, object arg2, double arg3, MyTuple mt) {Console.WriteLine ("SomeEvent handler: " + arg1 + ", " + arg2 + ", " + arg3 + ", " + mt.A + ", " + mt.B);}; demo.SomeEvent += delegate (string arg1, object arg2, double arg3, MyTuple mt) {Console.WriteLine ("SomeEvent handler two: " + arg1 + ", " + arg2 + ", " + arg3 + ", " + mt.A + ", " + mt.B);}; demo.FireOffSomeEvent (); Console.WriteLine (); Console.WriteLine (demo.GetSomeVariant ()); Console.WriteLine (); demo.Say2 ("demo.Say2"); ((IDemoTwo)demo).Say2 ("((IDemoTwo)demo).Say2"); demo.SayEnum (DemoEnum.Bar, DemoEnum.Foo); /* uint n; string ostr; demo.WithOutParameters (out n, "21", out ostr); Console.WriteLine ("n: " + n); Console.WriteLine ("ostr: " + ostr); */ /* IDemoOne[] objs = demo.GetObjArr (); foreach (IDemoOne obj in objs) obj.Say ("Some obj"); */ Console.WriteLine("SomeProp: " + demo.SomeProp); demo.SomeProp = 321; DemoProx demoProx = demo as DemoProx; if (demoProx != null) { //demoProx.SayRepeatedly(5, "Repetition"); //demoProx.GetType().InvokeMember("RepProx", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static, null, null, new object[] {demoProx, 5, "Lala"}); //demoProx.GetType().GetMethod("RepProx").Invoke(null, new object[] {demoProx, 5, "Lala"}); demoProx.GetType().GetMethod("RepProx", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static).Invoke(null, new object[] {demoProx, 5, "Lala"}); //demoProx.GetType().InvokeMember("RepProx", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, demoProx, new object[] {5, "Lala"}); } demo.ThrowSomeException (); }
public DemoClass(IDemoOne one) { _One = one; }