C#
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Books
{
protected List<String> BookNames = new List<String>();
// делегат
public delegate void BookHandler(String text);
// событие
public event BookHandler onAddBook;
public event BookHandler onDeleteBook;
// метод 'Добавление книги'
public void AddBook(String bookName)
{
BookNames.Add(bookName);
// вызываем событие
if (onAddBook!=null)
onAddBook("Книга " + bookName + " добавлена");
}
// метод 'Удаление книги'
public void DeleteBook(String bookName)
{
BookNames.Add(bookName);
// вызываем событие
if (onDeleteBook != null)
onDeleteBook("Книга " + bookName + " УДАЛЕНА!");
}
}
class Program
{
// вход программы
static void Main(string[] args)
{
// создаем объект книг
Books books = new Books();
// Добавляем обработчики событий
books.onAddBook += ShowMessage;
books.onDeleteBook += ShowMessage;
// добавляем книги
books.AddBook("Властелин колец");
books.AddBook("Звездные воины");
// удалим книгу
books.DeleteBook("Звездные воины");
}
// имплементация события
public static void ShowMessage(String text)
{
Console.WriteLine(text);
}
}
}