static void Main(string[] args) { string fancyMessage = "This is a very fancy message!"; Publisher publisher = new Publisher(); Subscriber1 sub1 = new Subscriber1(); Subscriber2 sub2 = new Subscriber2(); publisher.DataProcessingHandler += sub1.GetMessage; publisher.DataProcessingHandler += sub2.GetMessage; publisher.DataProcessingHandler += x => Console.WriteLine($"Special handling of message: {x}"); publisher.ProcessData(fancyMessage); Thread.Sleep(3000); publisher.DataProcessingHandler -= sub2.GetMessage; publisher.ProcessData("NOVA PORAKA"); Console.ReadLine(); }
static void Main(string[] args) { string ourMessage = "This is the famous message"; Publisher publisher = new Publisher(); FirstSubscriber firstSubscriber = new FirstSubscriber(); SecondSubscriber secondSubscriber = new SecondSubscriber(); publisher.MessageProcessingEvent += firstSubscriber.ProcessMessage; publisher.MessageProcessingEvent += secondSubscriber.GetMessage; publisher.MessageProcessingEvent += x => { Console.WriteLine("Anonymous subscriber!!!"); Console.WriteLine($"But I also got the message {x}"); }; publisher.ProcessData(ourMessage); publisher.MessageProcessingEvent -= secondSubscriber.GetMessage; publisher.ProcessData("New message"); Console.ReadLine(); }