private static void Main() { var mailSender = new MailSender(); var timer = new TimerImitation(mailSender); var subscriber1 = new Subscriber1(); var subscriber2 = new Subscriber2(); subscriber1.Register(mailSender); subscriber2.Register(mailSender); timer.SetDelay(2); timer.Run(Console.WriteLine); mailSender.Notify("Message for everyone"); Console.WriteLine(subscriber1.PrivateMail); Console.WriteLine(subscriber2.PrivateMail); }
static void Main(string[] args) { var timer = new TimerImitation(); Listener firstListener = new Listener(); Listener secondListener = new Listener(); Console.WriteLine("Event after 10 seconds"); timer.Notification += firstListener.Notify; timer.OnTimer(10, "10 seconds passed"); Console.WriteLine("Two events after 15 seconds"); timer.Notification += secondListener.Notify; timer.OnTimer(15, "15 seconds passed"); Console.ReadLine(); }