ВНИМАНИЕ! Конкурс по программированию!

Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.

 
Информация к новости
 (голосов: 0)

Урок 34. Пример класса с событием

Категория: Программирование » C# » Уроки C#

На этом уроке мы расмотрим еще один пример класса с событием. Класс наш будет представлять из себя игральную кость, в классе будет единственный метод rnd, возвращающий случайное число от 1 до 6. Если этот метод возвратит 6, то сгенерируется событие max.

 

namespace test
{
    //Объявление делегата.
    public delegate void EventHandler();
    //Класс "Игральная кость".
    class MyDie
    {
        Random r;
        //Объвление события на основе делегата.
        public event EventHandler max;
        //Конструктор.
        public MyDie()
        {
            r=new Random();
        }
        //Объявление метода, в котором вызывается событие.
        public int rnd()
        {
            //Случаное число от 1 до 6.
            int res = r.Next(6)+1;
            if(res==6)
            {
                //Вызываем событие.
                max();
            }
            return res;
        }
    }
    //Класс для тестирования события.
    class Test
    {
        //Обработчик для события.
        public static void z()
        {
            Console.WriteLine("Вызов обработчика");
        }
        //Метод main.
        static void Main(string[] args)
        {
            //Создаем экземпляр события.
            MyDie w=new MyDie();
            //Добавление обработчика события.
            w.max+=new EventHandler(z);
            //Вызов метода, в котором вызывается событие.
            for(int k=0; k<10; k++)
            {
                Console.WriteLine("{0}", w.rnd());
            }
        }
    }
}



При запуске нашей программы к классе Test мы создаем новый экземпляр класса MyDie игральной кости, приписываем к событию max класса MyDie обработчик z, и подкидываем кость 10 раз. Если выпадет шестерка, то возникнет событие max и выполнится обработчик для него.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Введите два слова, показанных на изображении: *