public static void Main()
Account account = new Account(200);
account.Added += Show_Message;
account.Withdrawn += Show_Message;
account.Withdrawn -= Show_Message;
private static void Show_Message(object sender, AccountEventArgs e)
Console.WriteLine("Сумма транзакции: {e.Sum}");
Console.WriteLine(e.Message);
private static void Show_Message(string message)
Console.WriteLine(message);
public delegate void AccountStateHandler(string message);
public event AccountStateHandler Withdrawn;
public delegate void AccountStateHandler(object sender, AccountEventArgs e);
public event AccountStateHandler Withdrawn;
public event AccountStateHandler Added;
Added(this, new AccountEventArgs("На счет поступило {sum}", sum));
public void Withdraw(int sum)
Withdrawn(this, new AccountEventArgs("Сумма {sum} снята со счета", sum));
Withdrawn(this, new AccountEventArgs("Недостаточно денег на счете", sum));
public string Message{get;}
public AccountEventArgs(string mes, int sum)