IExtensionExecutor<TExtension> - интерфейс

Объект, выполняющий расширения заданного типа и определяющий время жизни экземпляров расширений. Все методы объекта являются потокобезопасными.

Definition

Пространство имён: Tessa.Extensions
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.23
C#
public interface IExtensionExecutor<TExtension> : IAsyncDisposable
where TExtension : class, IExtension
Implements
IAsyncDisposable

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

TExtension
Тип расширений, выполняемых объектом.

Заметки

Метод DisposeAsync() выполняет очистку ресурсов, занимаемых каждым из экземпляров расширений. Если все экземпляры не требуют специальной очистки, то этот метод можно не вызывать.

Свойства

IsFake Признак того, что объект не выполняет расширения, поскольку тип расширения не был зарегистрирован.

Методы

DisposeAsyncPerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
(Унаследован от IAsyncDisposable)
ExecuteAsync<TContext> Выполняет заданный метод асинхронно для всех зарегистрированных расширений определённого типа.

Методы расширения

ExecuteWithExceptionCheckAsync<TExtension, TExtensionContext> Выполняет заданный метод расширений с обработкой исключений, при возникновении которых они обрабатываются объектом IMessageProvider, например, логируются и выводятся пользователю.
(Определяется RuntimeExtensions)
ExecuteWithExceptionCheckAsync<TExtension, TExtensionContext> Выполняет заданный метод расширений с обработкой исключений, при возникновении которых они логируются объектом Logger.
(Определяется RuntimeExtensions)
ExecuteWithExceptionCheckAsync<TExtension, TExtensionContext> Выполняет заданный метод расширений с обработкой исключений, при возникновении которых они логируются и выводятся пользователю.
(Определяется UIExtensions)

См. также