А он пишет Ошибка CS1061 "IProgress<int>" не содержит определения "ProgressChanged", и не удалось найти доступный метод расширения "ProgressChanged", принимающий тип "IProgress<int>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)..
Чё у него опять началось? Какие аргументы ему нужны?
Здесь ведь работает
В этом есть смысл не тогда, когда всё в одной функции, а когда это передается в другую функцию/класс. По идее так гибче, можно поменять реализацию не меняя везде тип. И так уменьшается сложность, если какой-то компонент должен только сообщать прогресс, то зачем ему давать возможность делать другие штуки.
Правда странно, что для сообщения прогресса есть интерфейс, а для подписывания на получения нет.