Здравствуйте, LF, Вы писали:
C>>а BeginXXX / EndXXX чем плохи? LF>Тут немного другой случай, методом EndXXX мы требуем результат LF>в некий момент времени, и не важно был ли он уже получен или нет. LF>В моем случае класс просто должен информировать когда результат будет готов.
C>>если выбирать из предложенных,я за п.1. LF>Тоже больше нравиться п1, но достаточно редко его встречаю.
Вызывая EndXXX мы ожидаем завершения операции если она ещё не законченна. Возвращает она результат или нет не имеет значения. В модели Begin/End также предусмотрен механизм обратного вызова. Если вы уверены, что вам никогда не потребуется ожидать завершения, получать нотификации о ходе процесса, отменять операцию, то можно действительно передать в параметры функции колбэк, который будет вызван по завершению операции или реализовать событийную модель с одним событием XXXCompleted.