Меню сайта
Категории раздела
| 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 и выполнится обработчик для него. Результат выполнения программы может быть, например, таким: | |
| Просмотров: 545 | Рейтинг: 0.0/0 |
| Всего комментариев: 0 | |