получающий с него определенные данные. Есть другой метод, прокручивающий в цикле первый метод около 50 раз. Я хочу на UI выводить, сколько процентов до конца выполнения этого (второго) метода осталось.
Вопрос состоит в том, как это расположить в логике приложения. С одной стороны, для того чтобы выводить на UI кол-во процентов, нужно иметь доступ к этому самому UI, проще говоря - быть в том же классе, что и UI. С другой стороны, я вычитал, что пихать в один класс логику вычислений/запросов/тд и управление UI - не хорошо. И куда мне в итоге сунуть этот метод (второй), чтобы все было красиво и правильно?
Ну если по хорошему нужно использовать паттерн MVP или MVC. Например MVP, в model реализовать свой поток загрузки, в котором будет твой цикл. При каждой иттерации цикла будет вызываться некое событие модели (читай про event), например RateLoaded, а в presenter будет подписка на это событие и презентор будет обновлять твой прогресс в интерфейсе
Делаете event, пробрасываете event в view model, view model биндите к свойству .Text какого-нибудь винформоконтрола. Биндинги для виндоформ можно взять отсюда https://www.codeproject.com/Articles/801986/Using-ReactiveUI-for-WinForms-MVVM-Design
Обсуждают сегодня