Tessa.Extensions - пространство имён

API для расширений.

Классы

AggregateExtensionStrategy Стратегия, последователь агрегирующая выполнение других стратегий. Все методы объекта являются потокобезопасными.
AggregateFilterPolicy Политика, определяющих необходимость выполнения метода расширения посредством последовательного исполнения заданного списка политик IFilterPolicy. Если хотя бы одна указанная политика вернула false, то результатом метода будет false.
AssemblyRegistratorFinder Выполняет поиск типов объектов IRegistrator в заданном каталоге IAssemblyCatalog.
AsyncLazyResolvePolicy Политика получения экземпляров расширений по заданной отложенной ссылке с использованием асинхронности.
ContextFilterPolicyTContext, TPolicy Политика фильтрации расширений, использующая политику IContextPolicyTContext для того, чтобы не выполнять методы расширений, для которых выполняется условие для контекста TContext. Если зарегистрировано несколько политик, то должны выполняться все из них.
DefaultConstructorResolvePolicy Политика получения экземпляров расширений через вызов конструктора по умолчанию для их типов.
DefaultConstructorSingletonResolvePolicy Политика получения экземпляров расширений через вызов конструктора по умолчанию для их типов. Политика зарегистрирована по умолчанию для всех типов расширений. Объект является синглтоном и доступен посредством свойства Instance. Для более оптимального создания экземпляров расширений используется объект DefaultConstructorResolvePolicy, который не является синглтоном и может содержать состояние.
DefaultDelegateContextPolicy Политика, проверяющая условие для указанного контекста расширений, которое задаётся как делегат Func<IExtensionContext, bool>. Выполняется для любых типов расширений, даже если не была явно зарегистрирована.
DefaultExecuteStrategy Стратегия, определяющая способ фильтрации расширений перед выполнением посредством политики IFilterPolicy. Если указанная политика не зарегистрирована, то расширение выполняется обычным образом. Все методы объекта являются потокобезопасными.
DefaultExtensionTraceListener Объект, выполняющий отслеживание событий, происходящих при выполнении расширений. События записываются в ValidationResult как информационные сообщения.
DefaultFilterStrategy Стратегия, определяющая контекст фильтрации расширений перед выполнением цепочки экземпляров расширений посредством политики IFilterPolicy. Если указанная политика не зарегистрирована, то контекст фильтрации устанавливается равным null. Все методы объекта являются потокобезопасными.
DefaultRegulateStrategy Стратегия, упорядочивающая выполняемые расширения в соответствии с политикой IOrderPolicy. Все расширения, зарегистрированные в контейнере с такой стратегией, обязаны содержать указанную политику. Все методы объекта являются потокобезопасными.
DefaultResolveStrategy Стратегия, определяющая способ получения экземпляров расширений посредством политики IResolvePolicy. Все расширения, зарегистрированные в контейнере с такой стратегией, обязаны содержать указанную политику. Все методы объекта являются потокобезопасными.
DefaultTearDownStrategy Стратегия, освобождающая ресурсы, занимаемые экземплярам расширений, для которых зарегистрирована политика ITearDownPolicy. Если указанная политика не зарегистрирована, то никаких действий не выполняется. Все методы объекта являются потокобезопасными.
DelegateContextPolicyTContext Политика, проверяющая условие для указанного контекста расширений, которое задаётся как делегат Func<TContext, bool>.
DisposeTearDownPolicy Политика освобождения ресурсов, занятых экземплярами расширений, которые реализуют интерфейс IDisposable. Экземпляры расширений, не реализующие указанный интерфейс, игнорируются.
EmptyExtensionStrategy Стратегия расширений, не выполняющая действий. Её регистрация может использоваться для удаления зарегистрированной ранее стратегии на соответствующем этапе. Все методы объекта являются потокобезопасными.
EmptyFilterPolicy Политика, определяющая отсутствие фильтра для выполнения метода расширения. Может использоваться для замещения существующей политики IFilterPolicy.
ExtensionAssembly Информация по сборке с расширениями.
ExtensionAssemblyInfo Содержит информацию по зарегистрированным сборкам расширений.
ExtensionBuildKey Ключ, используемый для идентификации типа расширения.
ExtensionContainer Контейнер расширений. Все методы объекта являются потокобезопасными.
ExtensionContainerNames Дополнительные имена контейнеров расширений, которые регистрируются в контейнере Unity.
ExtensionExtensions Методы-расширения для пространства имён Tessa.Extensions.
ExtensionPolicyContainer Контейнер политик IExtensionPolicy, ассоциированных с расширениями. Все методы объекта являются потокобезопасными.
ExtensionResolveKey Ключ, используемый для идентификации экземпляра расширения.
ExtensionsConfigHelper Хэлперы для работы с конфигурационным файлом, описывающим сборки с плагинами.
ExtensionStrategyContext Контекст стратегии контейнера с расширениями IExtensionContainer.
ExtensionTraceListener Базовый класс для объекта, выполняющего отслеживание событий, происходящих при выполнении расширений.
ExtensionTraceListenerHelper Вспомогательные методы для трассировки расширений.
FuncResolvePolicy Политика получения экземпляров расширений посредством заданной функции.
InstanceResolvePolicy Политика получения экземпляров расширений по заданной ссылке.
LazyResolvePolicy Политика получения экземпляров расширений по заданной отложенной ссылке.
OrderPolicy Политика упорядочивания расширений по этапам.
RegisterPoliciesStrategy Стратегия, выполняющая конфигурирование политик заданным способом для всех расширений. Все методы объекта являются потокобезопасными.
RegistratorAttribute Атрибут, указывающий метаданные объекта регистратора, на основании которых будет выполняться регистрация расширений и зависимостей в Unity.
RegistratorBase Базовый класс для объектов регистраторов, реализующих интерфейс IRegistrator.
RegistratorHelper Вспомогательные средства для выполнения регистрации, используя найденные объекты.
RegistratorImportingItem Объект с информацией по импортированному типу регистратора расширений IRegistrator.
RegistratorMetadata Метаинформация по атрибуту RegistratorAttribute, представленная в сериализуемой форме.
SingletonResolvePolicy Политика получения экземпляров расширений, являющихся синглтонами, через вызов конструктора по умолчанию для их типа.
UnityResolvePolicy Политика получения экземпляров расширений через заданный контейнер IUnityContainer.

Структуры

ExtensionExecutionKey Ключ, используемый для идентификации выполняемого метода.
ExtensionOrderKey Ключ, используемый для упорядочивания расширений по этапам.

Интерфейсы

IContextFilterPolicyTContext Политика фильтрации расширений, использующая политику IContextPolicyTContext для того, чтобы не выполнять методы расширений, для которых выполняется условие для контекста TContext. Если зарегистрировано несколько политик, то должны выполняться все из них.
IContextPolicyTContext Политика, проверяющая условие для указанного контекста расширений.
IDefaultDelegateContextPolicy Политика, проверяющая условие для указанного контекста расширений, которое задаётся как делегат Func<IExtensionContext, bool>. Выполняется для любых типов расширений, даже если не была явно зарегистрирована.
IDelegateContextPolicyTContext Политика, проверяющая условие для указанного контекста расширений, которое задаётся как делегат Func<TContext, bool>.
IExtension Расширение. Может дополнительно реализовывать интерфейс IAsyncInitializable для асинхронной инициализации после вызова конструктора.
IExtensionAssemblyInfo Содержит информацию по зарегистрированным сборкам расширений.
IExtensionContainer Контейнер расширений. Все методы объекта являются потокобезопасными.
IExtensionContext Контекст асинхронного метода, выполняющего расширения. Содержит свойство CancellationToken для асинхронной отмены.
IExtensionExecutorTExtension Объект, выполняющий расширения заданного типа и определяющий время жизни экземпляров расширений. Все методы объекта являются потокобезопасными.
IExtensionPolicy Политика, ассоциированная с расширениями.
IExtensionPolicyContainer Контейнер политик IExtensionPolicy, ассоциированных с расширениями. Все методы объекта являются потокобезопасными.
IExtensionStrategy Стратегия контейнера с расширениями IExtensionContainer. Все методы объекта являются потокобезопасными.
IExtensionStrategyContext Контекст стратегии контейнера с расширениями IExtensionContainer.
IExtensionTraceListener Объект, выполняющий отслеживание событий, происходящих при выполнении расширений.
IExtensionTypeRegistratorTExtension Объект, выполняющий регистрацию типа расширения в контейнере IExtensionContainer. Все методы объекта являются потокобезопасными.
IFilterPolicy Политика, определяющая фильтр для выполнения метода расширения.
IOrderPolicy Политика упорядочивания расширений по этапам.
IRegistrator Интерфейс, реализуемый в объектах регистраторов. Помимо интерфейса также требуется указать атрибут RegistratorAttribute.
IRegistratorMetadata Метаинформация по атрибуту RegistratorAttribute.
IResolvePolicy Политика получения экземпляров расширений.
ITearDownPolicy Политика освобождения ресурсов, занятых экземплярами расширений.
ITraceableExtensionContext Контекст расширения, который отслеживается универсальными объектами IExtensionTraceListener, доступными в платформе.

Делегаты

ExtensionMethodAsyncTContext Метод, который можно асинхронно выполнить в расширении.
ExtensionMethodReferenceAsyncTExtension, TContext Делегат, возвращающий метод расширения, который можно асинхронно выполнить.
ExtensionPolicyConfigurator Делегат, выполняющий конфигурирование политик в заданном контейнере.
ExtensionTypeConfiguratorTExtension Делегат, выполняющий регистрацию типа расширения в контейнере.

Перечисления

ExceptionHandlingMode Режим обработки исключений, возникающий в методах расширений. Может быть изменён в т.ч. в методе NotifyException(IExtensionStrategyContext).
ExtensionStage Этап выполнения расширения в цепочке расширений.
ExtensionStrategyStage Этап выполнения стратегии для контейнера расширений IExtensionContainer.
ExtensionTraceListenerType Тип объекта DefaultExtensionTraceListener, выполняющего отслеживание событий, происходящих при выполнении расширений карточек.
RegistratorTag Флаговое перечисление с тегами регистратора, которые ограничивают область его использования.