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(); }