RuntimeExtensionsExecuteWithExceptionCheckAsyncTExtension, TExtensionContext(IExtensionExecutorTExtension, ExpressionExtensionMethodReferenceAsyncTExtension, TExtensionContext, TExtensionContext, ILogger, Boolean) - метод |
Выполняет заданный метод расширений с обработкой исключений, при возникновении
которых они логируются объектом Logger.
Пространство имён:
Tessa.Platform.Runtime
Сборка:
Tessa (в Tessa.dll) Версия: 3.5.0.19
Синтаксис public static Task<bool> ExecuteWithExceptionCheckAsync<TExtension, TExtensionContext>(
this IExtensionExecutor<TExtension> executor,
Expression<ExtensionMethodReferenceAsync<TExtension, TExtensionContext>> method,
TExtensionContext extensionContext,
ILogger logger,
bool continueOnCapturedContext = false
)
where TExtension : class, IExtension
where TExtensionContext : class, IExtensionContext
<ExtensionAttribute>
Public Shared Function ExecuteWithExceptionCheckAsync(Of TExtension As {Class, IExtension}, TExtensionContext As {Class, IExtensionContext}) (
executor As IExtensionExecutor(Of TExtension),
method As Expression(Of ExtensionMethodReferenceAsync(Of TExtension, TExtensionContext)),
extensionContext As TExtensionContext,
logger As ILogger,
Optional continueOnCapturedContext As Boolean = false
) As Task(Of Boolean)
public:
[ExtensionAttribute]
generic<typename TExtension, typename TExtensionContext>
where TExtension : ref class, IExtension
where TExtensionContext : ref class, IExtensionContext
static Task<bool>^ ExecuteWithExceptionCheckAsync(
IExtensionExecutor<TExtension>^ executor,
Expression<ExtensionMethodReferenceAsync<TExtension, TExtensionContext>^>^ method,
TExtensionContext extensionContext,
ILogger^ logger,
bool continueOnCapturedContext = false
)
[<ExtensionAttribute>]
static member ExecuteWithExceptionCheckAsync :
executor : IExtensionExecutor<'TExtension> *
method : Expression<ExtensionMethodReferenceAsync<'TExtension, 'TExtensionContext>> *
extensionContext : 'TExtensionContext *
logger : ILogger *
?continueOnCapturedContext : bool
(* Defaults:
let _continueOnCapturedContext = defaultArg continueOnCapturedContext false
*)
-> Task<bool> when 'TExtension : not struct and IExtension when 'TExtensionContext : not struct and IExtensionContext
Параметры
- executor
- Тип: Tessa.ExtensionsIExtensionExecutorTExtension
Объект, исполняющий цепочку расширений. - method
- Тип: System.Linq.ExpressionsExpressionExtensionMethodReferenceAsyncTExtension, TExtensionContext
Выражение, ссылающееся на метод, который выполняется для каждого расширения в цепочке. - extensionContext
- Тип: TExtensionContext
Контекст расширений. - logger
- Тип: ILogger
Объект, выполняющий логирование сообщения об исключении. - continueOnCapturedContext (Optional)
- Тип: SystemBoolean
Признак того, что выполнение продолжается после ожидания на исходном SynchronizationContext.
Параметры типа
- TExtension
- Ссылочный тип расширений, реализующий интерфейс IExtension.
- TExtensionContext
- Тип контекста расширений.
Возвращаемое значение
Тип:
TaskBooleantrue, если цепочка расширений выполнена без исключений;
false, если при выполнении цепочки расширений обнаружено исключение,
которое было обработано.
Примечание об использовании
В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа
IExtensionExecutorTExtension. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе
Методы расширения (Visual Basic) или
Методы расширения (Руководство по программированию в C#).
См. также