C# для начинающих Пахомов Б. И



Download 8,15 Mb.
Pdf ko'rish
bet184/266
Sana20.04.2022
Hajmi8,15 Mb.
#567200
1   ...   180   181   182   183   184   185   186   187   ...   266
Bog'liq
C# for beginners


Часть II. Объектно-ориентированное программирование 
чатанный класс с тремя методами, способными вызывать функции с 
объявленной в делегате сигнатурой. Один метод может вызывать функ-
ции синхронно, т. е. вызывающий код программы должен ожидать за-
вершения вызванной функции, а уже только после этого продолжить 
выполняться дальше, другие же два метода дают возможность вызова 
функции асинхронным способом, т. е. в отдельном от общего потоке 
выполнения. Это связано с наличием функций (методов), которые тре-
буют определенного времени для своего завершения и потому не долж-
ны особо влиять на основной процесс. 
Пример простого делегата и вызов с его помощью функций приведен 
в листинге 13.1, а результат показан на рис. 13.1. 
Листинг 13.1 
/* Created by SharpDevelop. 
* User: user 
* Date: 20.12.2012 
* Time: 14:55 

* To change this template use Tools | Options | Coding | 
* Edit Standard Headers. */ 
using System; 
namespace app56_delegate 

// Этот делегат может вызывать любой метод, принимающий
// два целых числа и возвращающий целое число 
public delegate int Ar(int x, int y) ; 
// Этот класс содержит методы, которые может 
// вызывать объявленный делегат, 
// т. к. сигнатуры делегата и методов совпадают: 
public class SimpleMath 

public static int Add(int x, int y) 
{ return x + y; } 
public static int Subtract (int x, int y) 
{ return x — y; } 

class Program 



Глава 13. Делегаты и события 
295 
static void Main() 
{ Console.WriteLine ("Пример простого делегата\n"); 
// Создать экземпляр делегата, указывая 
// в конструкторе вызываемый метод 
Ar b = new Ar(SimpleMath.Add); // Метод вызывается 
// прямо из класса, т. к. метод — статический 
// Вызов метода Add() с использованием делегата 
Console.WriteLine("2+2 равно {0}", b(2, 2)); 
Ar с = new Ar(SimpleMath.Subtract); 
Console.WriteLine("4-2 равно {0}", с(4, 2)); 
Console.Read(); 



Рис. 13.1. 
Результат работы с делегатом 
События 
В реальном мире нас постоянно окружают различные события: мы умы-
лись, мы пришли на работу, мы вернулись с работы и т. д. События 
проникают в нашу жизнь и на более мелком уровне: мы сделали шаг 
вперед — уже событие, в ответ на которое у нас в организме запускает-
ся целое множество ответных реакций; мы повернули голову — то же 
самое. Мы моргнули — это тоже важное событие для нашего организма. 
События можно разделить на два вида: те, которые мы инициируем (вы-
зываем сами), и те, которые инициируются кем-то другим. Например, 
мы пришли с работы. По сути это сработало некое событие, в ответ
на которое мы что-то сделали (например, перешли в состояние "дома"). 


296 
Download 8,15 Mb.

Do'stlaringiz bilan baham:
1   ...   180   181   182   183   184   185   186   187   ...   266




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish