мой комментарий относился именно к этому примеру. Я говорю что новичку предлагают для задержки вывода на консоль взять нетривиальную библиотеку, которая предназначена для многопоточности и асинхронности. А эти концепции ему не нужны в этом случае.
Что касается графических интерфейсов, то новичку не поможет простое использование правило "используй TPL". Ему нужно будет понять идеи многопоточности и асинхронности, понять что есть UI Thread и он делает определенные задачи.
просто не очень понимаю использование TPL в случае если нет асинхронности в коде. И поток один. Microsoft конечно рекомендует использовать таски, мотивируя тем что потоки это «сложна-сложна», но в случае когда поток один, все синхронно, почему бы и не написать Thread.Sleep
Для небольших программ такой подход вполне приемлем. Наверное)
А также, зачем создавать команду с обощением T и при создании указывать массив object[]. Я обычно делал просто object.
И последний момент по методу SetProperty. Тоже всегда обходился без него и первый раз вижу его в реализации команды.
Стоимость проживания сильно зависит от города.
Что именно кажется нереальным?