private static void InstanceDelegateDemo() { Console.WriteLine("----- Instance Delegate Demo -----"); DelegateIntro p = new DelegateIntro(); Counter(1, 3, new FeedBack(p.FeedbackToFile)); Console.WriteLine(); }
private static void ChainDelegateDemo2(DelegateIntro p) { Console.WriteLine("----- Chain Delegate Demo 2 -----"); FeedBack fb1 = new FeedBack(FeedbackToConsole); FeedBack fb2 = new FeedBack(FeedbackToMsgBox); FeedBack fb3 = new FeedBack(p.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 p) { Console.WriteLine("----- Chain Delegate Demo 1 -----"); FeedBack fb1 = new FeedBack(FeedbackToConsole); FeedBack fb2 = new FeedBack(FeedbackToMsgBox); FeedBack fb3 = new FeedBack(p.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); }