private static void InstanceDelegateDemo() { Console.WriteLine("----- Instance Delegate Demo -----"); DelegateIntro di = new DelegateIntro(); Counter(1, 3, new Feedback(di.FeedbackToFile)); Console.WriteLine(); }
public static void Main() { DelegateIntro.Go(); GetInvocationList.Go(); AnonymousMethods.Go(); DelegateReflection.Go("TwoInt32s", "Add", "123", "321"); DelegateReflection.Go("TwoInt32s", "Subtract", "123", "321"); DelegateReflection.Go("OneString", "NumChars", "Hello there"); DelegateReflection.Go("OneString", "Reverse", "Hello there"); }
private static void ChainDelegateDemo2(DelegateIntro di) { Console.WriteLine("----- Chain Delegate Demo 2 -----"); Feedback fb1 = new Feedback(FeedbackToConsole); Feedback fb2 = new Feedback(FeedbackToMsgBox); Feedback fb3 = new Feedback(di.FeedbackToFile); Feedback fbChain = null; fbChain += fb1; fbChain += fb2; fbChain += fb3; Counter(1, 2, fbChain); Console.WriteLine(); fbChain -= new Feedback(FeedbackToMsgBox); Counter(1, 2, fbChain); }
private static void ChainDelegateDemo1(DelegateIntro di) { Console.WriteLine("----- Chain Delegate Demo 1 -----"); Feedback fb1 = new Feedback(FeedbackToConsole); Feedback fb2 = new Feedback(FeedbackToMsgBox); Feedback fb3 = new Feedback(di.FeedbackToFile); Feedback fbChain = null; fbChain = (Feedback)Delegate.Combine(fbChain, fb1); fbChain = (Feedback)Delegate.Combine(fbChain, fb2); fbChain = (Feedback)Delegate.Combine(fbChain, fb3); Counter(1, 2, fbChain); Console.WriteLine(); fbChain = (Feedback)Delegate.Remove(fbChain, new Feedback(FeedbackToMsgBox)); Counter(1, 2, fbChain); }
private static void ChainDelegateDemo1(DelegateIntro di) { Console.WriteLine("----- Chain Delegate Demo 1 -----"); Feedback fb1 = new Feedback(FeedbackToConsole); Feedback fb2 = new Feedback(FeedbackToMsgBox); Feedback fb3 = new Feedback(di.FeedbackToFile); Feedback fbChain = null; // Combine return a delegate and must explicit cast, otherwise Delegate.Combine // return a System.Delegate. fbChain = (Feedback)Delegate.Combine(fbChain, fb1); fbChain = (Feedback)Delegate.Combine(fbChain, fb2); fbChain = (Feedback)Delegate.Combine(fbChain, fb3); Counter(1, 2, fbChain); Console.WriteLine(); fbChain = (Feedback)Delegate.Remove(fbChain, new Feedback(FeedbackToMsgBox)); Counter(1, 2, fbChain); }
public static void Main() { DelegateIntro.Go(); GetInvocationList.Go(); }