public void Subscribe(ClassWithDelegate theClassWithDelegate) { //theClassWithDelegate.theDelegate += new ClassWithDelegate.DelegateThatReturnsInt(Doubler); theClassWithDelegate.theDelegate += delegate() { return(myCounter += 2); }; }
public void Subscribe(ClassWithDelegate theClassWithDelegate) { //theClassWithDelegate.theDelegate += new ClassWithDelegate.DelegateThatReturnsInt(DisplayCounter); theClassWithDelegate.theDelegate += delegate() { Console.WriteLine("Busy in DisplayCounter..."); Thread.Sleep(4000); Console.WriteLine("Done with work in DisplayCounter..."); return(++myCount); }; }
static void Main() { ClassWithDelegate theClassWithDelegate = new ClassWithDelegate(); FirstSubscriber fs = new FirstSubscriber(); fs.Subscribe(theClassWithDelegate); SecondSubscriber ss = new SecondSubscriber(); ss.Subscribe(theClassWithDelegate); theClassWithDelegate.Run(); }
public void Subscribe(ClassWithDelegate theClassWithDelegate) { theClassWithDelegate.theDelegate += new ClassWithDelegate.DelegateThatReturnsInt(Doubler); }