Разработать класс для имитации часов с обратным отсчетом, реализующий возможность по истечении назначенного времени (количество секунд ожидания предоставляются пользователем) передавать сообщение любому подписавшемуся на событие типу.
- Для создания эффекта ожидания можно использовать метод Thread.Sleep.
- Предусмотреть возможность подписки на событие в нескольких классах.
- В качестве UI-интерфейса использовать консольное приложение с интерфейсом командной строки.
Реализовать метод для подсчета чисел последовательности Фибоначчи с использованием блок-итератора yield.
Разработать обобщенную класс-коллекцию CustomQueue, реализующую основные операции в виде методов Enqueue(), Dequeue(), Peek(), а также предоставляющую возможность итерирования по ней, реализовав ее итератор «вручную». Протестировать методы разработанного класса.
Реализовать обобщенный алгоритм бинарного поиска (ограничения на параметр типа не использовать!). Разработать unit-тесты.