Dasturda kerakli bildirishnomalarni olish uchun bildirish hodisasi uchun ishlovchilarni aniqlaylik:
Notify
}
Account acc = new Account(100);
acc.Notify += DisplayMessage; // Добавляем
обработчик для события
acc.Put(20); // добавляем на счет 20 Console.WriteLine($"Сумма на счете: {acc.Sum}"); acc.Take(70); // пытаемся снять со счета 70 Console.WriteLine($"Сумма на счете: {acc.Sum}"); acc.Take(180); // пытаемся снять со счета 180 Console.WriteLine($"Сумма на счете: {acc.Sum}"); Console.Read();
private static void DisplayMessage(string message)
{
Console.WriteLine(message);
}
}
Bunday holda, ishlovchilar sifatida DisplayMessage
usuli ishlatiladi, bu parametrlar ro'yxati va qaytish turidagi AccountHandler delegatiga mos keladi.
Natijada, xabar berish. DisplayMessage- da biz shunchaki voqeadan olingan
xabarni namoyish qilamiz, ammo har qanday mantiqni aniqlash mumkin edi.
Agar bu holda ishlov beruvchi o'rnatilmagan bo'lsa, unda Notify? .Invoke () hodisasi chaqirilganda hech narsa bo'lmaydi, chunki Notify hodisasi bekor bo'lgan bo'lar edi.
Dasturning konsol chiqishi:
Endi biz "Account" sinfini alohida sinf kutubxonasiga ajratib, har qanday loyihaga qo'shishimiz mumkin.