UIExtensions.ExecuteWithExceptionCheckAsync<TExtensionContext> - метод

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

Definition

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

Параметры

executor  IExtensionExecutor
Объект, исполняющий цепочку расширений.
methodName  String
Имя метода расширения, который можно выполнить. Не должен быть равен null или пустой строке.
extensionContext  TExtensionContext
Контекст расширений.
processExceptionAsync  Func<Exception, ValueTask>  (Optional)
Функция, обрабатывающая возникшее исключение, или null, если обработка не выполняется.
handleExceptionAsync  Func<IExtensionStrategyContext, ValueTask>  (Optional)
Метод, выполняющийся при обработке исключений для каждого экземпляра расширений после того, как была выполнена трассировка расширения. Метод может изменить IExtensionStrategyContext, в т.ч. установить режим обработки исключений в свойстве ExceptionHandlingMode. Укажите null, если метод не требуется выполнять.
showMessageBox  Boolean  (Optional)
Признак того, что требуется отобразить диалог об ошибке при возникновении исключения. Запись в лог будет сделана в любом случае.
continueOnCapturedContext  Boolean  (Optional)
Признак того, что выполнение продолжается после ожидания на исходном SynchronizationContext.

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

TExtensionContext
Тип контекста расширений.

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

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

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

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

См. также