Сейчас на сайте:
Пользователей: 0
Отсутствуют.
Роботов: 2
Googlebot, Yandex
Гостей: 73
Всех: 75
ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
Информация к новости
- Просмотров: 1335
- Автор: КазКиберГетик
Урок 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());
}
}
}
}
{
//Объявление делегата.
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 и выполнится обработчик для него.
Вернуться
Комментариев: 0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




