RuntimeExtensionsExecuteWithExceptionCheckAsyncTExtensionContext(IExtensionExecutor, String, TExtensionContext, IMessageProvider, FuncIExtensionStrategyContext, ValueTask, Boolean) - метод
Выполняет заданный метод расширений с обработкой исключений, при возникновении
которых они обрабатываются объектом
IMessageProvider, например,
логируются и выводятся пользователю.
Пространство имён: Tessa.Platform.RuntimeСборка: Tessa (в Tessa.dll) Версия: 4.0.4
public static Task<bool> ExecuteWithExceptionCheckAsync<TExtensionContext>(
this IExtensionExecutor executor,
string methodName,
TExtensionContext extensionContext,
IMessageProvider messageProvider,
Func<IExtensionStrategyContext, ValueTask>? handleExceptionAsync = null,
bool continueOnCapturedContext = false
)
where TExtensionContext : class, IExtensionContext
<ExtensionAttribute>
Public Shared Function ExecuteWithExceptionCheckAsync(Of TExtensionContext As {Class, IExtensionContext}) (
executor As IExtensionExecutor,
methodName As String,
extensionContext As TExtensionContext,
messageProvider As IMessageProvider,
Optional handleExceptionAsync As Func(Of IExtensionStrategyContext, ValueTask) = Nothing,
Optional continueOnCapturedContext As Boolean = false
) As Task(Of Boolean)
public:
[ExtensionAttribute]
generic<typename TExtensionContext>
where TExtensionContext : ref class, IExtensionContext
static Task<bool>^ ExecuteWithExceptionCheckAsync(
IExtensionExecutor^ executor,
String^ methodName,
TExtensionContext extensionContext,
IMessageProvider^ messageProvider,
Func<IExtensionStrategyContext^, ValueTask>^ handleExceptionAsync = nullptr,
bool continueOnCapturedContext = false
)
[<ExtensionAttribute>]
static member ExecuteWithExceptionCheckAsync :
executor : IExtensionExecutor *
methodName : string *
extensionContext : 'TExtensionContext *
messageProvider : IMessageProvider *
?handleExceptionAsync : Func<IExtensionStrategyContext, ValueTask> *
?continueOnCapturedContext : bool
(* Defaults:
let _handleExceptionAsync = defaultArg handleExceptionAsync null
let _continueOnCapturedContext = defaultArg continueOnCapturedContext false
*)
-> Task<bool> when 'TExtensionContext : not struct and IExtensionContext
- executor IExtensionExecutor
- Объект, исполняющий цепочку расширений.
- methodName String
- Имя метода, который выполняется для каждого расширения в цепочке.
- extensionContext TExtensionContext
- Контекст расширений.
- messageProvider IMessageProvider
- Объект, выполняющий обработку сообщения об исключении.
- handleExceptionAsync FuncIExtensionStrategyContext, ValueTask (Optional)
-
Метод, выполняющийся при обработке исключений для каждого экземпляра расширений после того, как была выполнена трассировка расширения.
Метод может изменить IExtensionStrategyContext, в т.ч. установить режим обработки исключений в свойстве ExceptionHandlingMode.
Укажите null, если метод не требуется выполнять.
- continueOnCapturedContext Boolean (Optional)
-
Признак того, что выполнение продолжается после ожидания на исходном SynchronizationContext.
- TExtensionContext
- Тип контекста расширений.
TaskBooleantrue, если цепочка расширений выполнена без исключений;
false, если при выполнении цепочки расширений обнаружено исключение,
которое было обработано.
В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа
IExtensionExecutor. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе
Методы расширения (Visual Basic) или
Методы расширения (Руководство по программированию в C#).