У меня есть класс, у которого есть несколько длительных методов, в которых они выполняют запросы к БД, извлекают список объектов, перебирают их и выполняют некоторую работу ввода-вывода.
Как следует подходить к разработке этого класса?
Должен ли я иметь OnComplete
событий в моем классе, если задача завершена?
Я действительно хочу дать потребителю возможность отмены / прерывания, поэтому простого сообщения о завершении метода недостаточно.
Изначально у меня был BackgroundWorker
(и большая часть логики) в моем коде пользовательского интерфейса, однако, я разделил логику, чтобы все было в отдельной библиотеке.
Я рассматривал возможность добавления фонового рабочего в класс и просто передачи создания подобных событий, которые вызываются фоновым рабочим. Это лучший подход?