Меню сайта
Категории раздела
HTML [44] |
Visual C++ и MFC [21] |
c++ [78] |
php [19] |
Javascript [15] |
C# [51] |
загрузки [0] |
XNA
[10]
создание игр с помощью xna
|
Наш опрос
Друзья сайта
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Главная » Статьи » C# |
Урок 34
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 и выполнится обработчик для него. Результат выполнения программы может быть, например, таким: | |
Просмотров: 529 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |