UIExtensionsExecuteWithExceptionCheckAsyncTExtension, TExtensionContext - метод

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

Definition

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

Параметры

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

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

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

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

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

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

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

См. также