static void Main(string[] args) { ICutDownNotifier[] interfaceArray = new ICutDownNotifier[3]; // работаем с массивом объектов типа IcutDownNotifier ReversTimer[] RtArray = new ReversTimer[3]; Console.Write("Введите имя первого таймера: "); RtArray[0] = new ReversTimer(Console.ReadLine()); Console.Write("Установите время: "); interfaceArray[0] = new TimerMethod(Convert.ToInt32(Console.ReadLine())); Console.Write("Введите имя второго таймера: "); RtArray[1] = new ReversTimer(Console.ReadLine()); Console.Write("Установите время: "); interfaceArray[1] = new TimerMethod(Convert.ToInt32(Console.ReadLine())); Console.Write("Введите имя третьего таймера: "); RtArray[2] = new ReversTimer(Console.ReadLine()); Console.Write("Установите время: "); interfaceArray[2] = new TimerMethod(Convert.ToInt32(Console.ReadLine())); Console.WriteLine(); for (int i = 0; i < interfaceArray.Length; i++) { interfaceArray[i].init(RtArray[i]); interfaceArray[i].Run(RtArray[i]); Console.WriteLine(); } }
public void init(ReversTimer RtInit) { RtInit.start += delegate(string source, string name) { Console.WriteLine($"Старт обратного отсчёта {name}:"); }; RtInit.left += delegate(string source, string name, int N) { Console.WriteLine($"У таймера {name} осталось секунд: {N} "); }; RtInit.end += delegate(string source, string name) { Console.WriteLine("Обратный отсчёт завершён"); }; }
public void Run(ReversTimer RtInit) // метод Run без возврата значения { RtInit.go(time); }
public void init(ReversTimer RtInit) { RtInit.start += Starting; // добавление обработчика (подписываемся на событие) RtInit.left += Waiting; // добавление обработчика (подписываемся на событие) RtInit.end += TheEnd; // добавление обработчика (подписываемся на событие) }
public void Run(ReversTimer RtRun) { RtRun.go(time); }
public void Run(ReversTimer RtRun) // метод Run { RtRun.go(time); }