Среда, 04.12.2024, 12:13

  Сайт проекта StreamLive 18.117.105.215

Вы вошли как Гость | Группа "Гости" | RSS

Меню

Категории
С# [55]
VB.net [0]
VB6 [1]

Реклама

Nothing

 
Главная » Статьи » Программирование » С# [ Добавить статью ]
Пример класса с событием
На этом уроке мы расмотрим еще один пример класса с событием. Класс наш будет представлять из себя игральную кость, в классе будет единственный метод 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 и выполнится обработчик для него. Результат выполнения программы может быть, например, таким:



Источник:
Категория: С# | Добавил: Sumrak (14.11.2010) | Автор: E W
Просмотров: 1160 | Комментарии: 0 | Теги: | Рейтинг: 0.0/0
Всего комментариев: 0

Log in

Block title

Copyright sumrak © 2024