Я недостаточно знаком с ASP.NET, чтобы дать вам полный ответ.
Я могу вам сказать, что наличие Action<T>
в качестве параметра означает, что библиотека обеспечивает васпройдет что-то, что они могут позвонить.Это обратный вызов .
Они будут использовать его, чтобы дать вам T
объект.Зачем им это делать (вместо того, чтобы возвращать T
или использовать параметр out
)?Возможно, им нужно выполнить некоторую очистку после запуска вашего кода, например, они будут перехватывать исключения, выполнять синхронизацию, распоряжаться ресурсами ... что-то в этом роде.
Еще одно преимущество использования обратного вызова заключается в том, что библиотекаконтролирует что либо вы запускаете код.Если они дают вам T
объект (и, возможно, bool
, чтобы сказать вам, что нужно запускать ваш код), вы можете просто проигнорировать их.
Возможно также, что код, предназначенный для запуска в немВ конкретном потоке может даже оказаться, что они будут запускать его в будущем по мере необходимости, возможно, даже несколько раз.На самом деле, они могут использовать его аналогично событию, за исключением того, что вы не можете подписываться и отписываться в любое время.