RuntimeExtensionsExecuteWithExceptionCheckAsyncTExtension, TExtensionContext(IExtensionExecutorTExtension, ExpressionExtensionMethodReferenceAsyncTExtension, TExtensionContext, TExtensionContext, IMessageProvider, FuncIExtensionStrategyContext, ValueTask, Boolean) - метод

Выполняет заданный метод расширений с обработкой исключений, при возникновении которых они обрабатываются объектом IMessageProvider, например, логируются и выводятся пользователю.

Definition

Пространство имён: Tessa.Platform.Runtime
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
public static Task<bool> ExecuteWithExceptionCheckAsync<TExtension, TExtensionContext>(
	this IExtensionExecutor<TExtension> executor,
	Expression<ExtensionMethodReferenceAsync<TExtension, TExtensionContext>> method,
	TExtensionContext extensionContext,
	IMessageProvider messageProvider,
	Func<IExtensionStrategyContext, ValueTask> handleExceptionAsync = null,
	bool continueOnCapturedContext = false
)
where TExtension : class, IExtension
where TExtensionContext : class, IExtensionContext

Параметры

executor  IExtensionExecutorTExtension
Объект, исполняющий цепочку расширений.
method  ExpressionExtensionMethodReferenceAsyncTExtension, TExtensionContext
Выражение, ссылающееся на метод, который выполняется для каждого расширения в цепочке.
extensionContext  TExtensionContext
Контекст расширений.
messageProvider  IMessageProvider
Объект, выполняющий обработку сообщения об исключении.
handleExceptionAsync  FuncIExtensionStrategyContext, ValueTask  (Optional)
Метод, выполняющийся при обработке исключений для каждого экземпляра расширений после того, как была выполнена трассировка расширения. Метод может изменить IExtensionStrategyContext, в т.ч. установить режим обработки исключений в свойстве ExceptionHandlingMode. Укажите null, если метод не требуется выполнять.
continueOnCapturedContext  Boolean  (Optional)
Признак того, что выполнение продолжается после ожидания на исходном SynchronizationContext.

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

TExtension
Ссылочный тип расширений, реализующий интерфейс IExtension.
TExtensionContext
Тип контекста расширений.

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

TaskBoolean
true, если цепочка расширений выполнена без исключений; false, если при выполнении цепочки расширений обнаружено исключение, которое было обработано.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IExtensionExecutorTExtension. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

См. также