public CdnWithMethod(string taskName, int taskTime, TaskTimeStart taskTimeStart, Action <string, int> taskTimeEnd) : base(taskName, taskTime, taskTimeStart, taskTimeEnd) { ClockOnEverySecond = OnEverySecond; ClockOnStart = OnStart; ClockOnStop = OnStop; }
/// <summary> /// • Конструктов каждого из пользовательских классов, реализующих ICutDownNotifier, должен принимать два параметра: /// o Созданный делегат «Началось время выполнения задания»; /// o Делегат «Закончилось время выполнения задания» на основе стандартного типа Action с параметрами «Название /// задачи», «Сколько было отведено времени». /// </summary> /// <param name="taskName"></param> /// <param name="taskTime"></param> /// <param name="taskTimeStart"></param> /// <param name="taskTimeEnd"></param> protected CdnBase(string taskName, int taskTime, TaskTimeStart taskTimeStart, Action <string, int> taskTimeEnd) { _taskStart = taskTimeStart; _taskEnd = taskTimeEnd; _taskName = taskName; _taskClock = new Clock(taskTime); _taskClock.OnStart += TaskClock_OnStart; _taskClock.OnStop += TaskClock_OnStop; }
public CdnWithAnonDelegate(string taskName, int taskTime, TaskTimeStart taskTimeStart, Action <string, int> taskTimeEnd) : base(taskName, taskTime, taskTimeStart, taskTimeEnd) { ClockOnEverySecond = delegate(object sender, int seconds, string title) { Console.WriteLine($"[{nameof(CdnWithAnonDelegate)}] Таймер - {title}. Осталось {seconds} секунд."); }; ClockOnStart = delegate(object sender, string title) { Console.WriteLine($"[{nameof(CdnWithAnonDelegate)}] Таймер - {title}. Старт обратного отсчета."); }; ClockOnStop = delegate(object sender, string title) { Console.WriteLine($"[{nameof(CdnWithAnonDelegate)}] Таймер - {title}. Обратный отсчет завершен."); }; }
public CdnWithLambda(string taskName, int taskTime, TaskTimeStart taskTimeStart, Action <string, int> taskTimeEnd) : base(taskName, taskTime, taskTimeStart, taskTimeEnd) { ClockOnEverySecond = (sender, seconds, title) => { Console.WriteLine($"[{nameof(CdnWithLambda)}] Таймер - {title}. Осталось {seconds} секунд."); }; ClockOnStart = (sender, title) => { Console.WriteLine($"[{nameof(CdnWithLambda)}] Таймер - {title}. Старт обратного отсчета."); }; ClockOnStop = (sender, title) => { Console.WriteLine($"[{nameof(CdnWithLambda)}] Таймер - {title}. Обратный отсчет завершен."); }; }