コード例 #1
0
        public MyClass()
        {
            // Создание обьекта класса-издателя
            NewsOperator sourceEvent = new NewsOperator();

            sourceEvent.Message = "Отсутствует новая информация! Ждите обновления!";

            // Создание обьектов классов-подписчиков
            Subscriber_1 s1 = new Subscriber_1();
            Subscriber_2 s2 = new Subscriber_2();
            Subscriber_3 s3 = new Subscriber_3();

            // Подписка обьектов классов-подписчиков на события
            sourceEvent.News      += s1.Handler_1_News;
            sourceEvent.Weather   += s1.Handler_1_Weather;
            sourceEvent.Weather   += s2.Handler_2_Weather;
            sourceEvent.Humor     += s2.Handler_2_Humor;
            sourceEvent.Sport     += s2.Handler_2_Sport;
            sourceEvent.Accidents += s3.Handler_3_Accidents;

            // Рассылка сообщений
            sourceEvent.InvokeNews("Появилась новая информация в категории <<NEWS>>");
            sourceEvent.InvokeWeather("Появилась новая информация в категории <<WEATHER>>");
            sourceEvent.InvokeSport("Появилась новая информация в категории <<SPORT>>");
            sourceEvent.InvokeAccidents("Появилась новая информация в категории <<ACCIDENTS>>");
            sourceEvent.InvokeHumor("Появилась новая информация в категории <<HUMOR>>");
        }
コード例 #2
0
        public MyClass()
        {
            // Создание обьекта класса-издателя
            NewsOperator sourceEvent = new NewsOperator();

            // Создание обьектов классов-подписчиков
            Subscriber_1 s1 = new Subscriber_1();
            Subscriber_2 s2 = new Subscriber_2();
            Subscriber_3 s3 = new Subscriber_3();

            // Подписка обьектов классов-подписчиков на события
            sourceEvent.SomeNewsEvent += new NewsEventHandler(s1.Handler_1);
            sourceEvent.SomeNewsEvent += new NewsEventHandler(s2.Handler_2);
            sourceEvent.SomeNewsEvent += new NewsEventHandler(s3.Handler_3);

            // Активизация процесса рассылки уведомлений о
            NewsEventArgs arg_news = new NewsEventArgs("NEWS");

            sourceEvent.InvokeEvent(arg_news);

            NewsEventArgs arg_sport = new NewsEventArgs("SPORT");

            sourceEvent.InvokeEvent(arg_sport);

            NewsEventArgs arg_humor = new NewsEventArgs("HUMOR");

            sourceEvent.InvokeEvent(arg_humor);

            NewsEventArgs arg_accid = new NewsEventArgs("ACCIDENTS");

            sourceEvent.InvokeEvent(arg_accid);

            NewsEventArgs arg_weather = new NewsEventArgs("WEATHER");

            sourceEvent.InvokeEvent(arg_weather);
        }