IExtensionExecutorTExtensionExecuteAsyncTContext - метод

Выполняет заданный метод асинхронно для всех зарегистрированных расширений определённого типа.

Definition

Пространство имён: Tessa.Extensions
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
Task ExecuteAsync<TContext>(
	Expression<ExtensionMethodReferenceAsync<TExtension, TContext>> method,
	TContext context,
	Func<IExtensionStrategyContext, ValueTask> handleExceptionAsync = null,
	bool continueOnCapturedContext = false,
	bool ignoreContextCancellation = false
)
where TContext : class, IExtensionContext

Параметры

method  ExpressionExtensionMethodReferenceAsyncTExtension, TContext
Делегат, возвращающий метод расширения, который можно выполнить. Не должен быть равен null.
context  TContext
Параметр выполняемого метода, передаваемый между расширениями. Токен отмены асинхронной операции передаётся в этом объекте. Не должен быть равен null.
handleExceptionAsync  FuncIExtensionStrategyContext, ValueTask  (Optional)

Метод, выполняющийся при обработке исключений для каждого экземпляра расширений после того, как была выполнена трассировка расширения.

Метод может изменить IExtensionStrategyContext, в т.ч. установить режим обработки исключений в свойстве ExceptionHandlingMode.

Укажите null, если метод не требуется выполнять.

continueOnCapturedContext  Boolean  (Optional)

Признак того, что выполнение асинхронных методов должно быть продолжено на том же контексте SynchronizationContext, на котором оно было начато, если таковой был.

Обычно это означает, что при запуске расширений из потока UI каждый метод расширения будет выполнен на потоке UI.

ignoreContextCancellation  Boolean  (Optional)

Признак того, что токен отмены context.CancellationToken не будет использоваться во внутренней реализации метода. При этом токен может быть задействован в выполняемых методах расширений.

Рекомендуется указывать для Finally-расширений, где исключения OperationCanceledException в обработчике handleExceptionAsync не должны прерывать выполнение последующих расширений.

Параметры типа

TContext
Тип параметра для выполняемого метода, реализующий интерфейс IExtensionContext.

Возвращаемое значение

Task
Полная копия объекта.

Исключения

ArgumentNullException Параметры method или context равны null.

См. также