예제 #1
0
        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();
        }