LifetimeContext Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет узел в дереве времени существования.
public ref class LifetimeContext sealed : System::Composition::CompositionContext, IDisposable
public sealed class LifetimeContext : System.Composition.CompositionContext, IDisposable
type LifetimeContext = class
inherit CompositionContext
interface IDisposable
Public NotInheritable Class LifetimeContext
Inherits CompositionContext
Implements IDisposable
- Наследование
- Реализации
Комментарии
Объект LifetimeContext представляет собой единицу общего доступа для общих частей. Он управляет удалением связанных частей и может использоваться для извлечения экземпляров либо в рамках существующей операции композиции, либо в качестве основы для новой операции композиции. Отдельный контекст времени существования можно пометить как содержащий части, ограниченные определенными границами общего доступа.
Этот объект содержит две части независимо защищенного общего состояния: экземпляры общих частей и связанные экземпляры частей.
Экземпляр общей части не блокируется, доступен для чтения и не приводит к проблемам, если он добавляется во время удаления. Он защищен блокировкой. Логика активации неизбежно вызывается под этой блокировкой.
Привязанный экземпляр части всегда защищен блокировкой this
и никогда не должен записываться в после удаления. Для привязанного экземпляра части задано значение null
под блокировкой в методе Dispose() . Если запись была разрешена после удаления для связанного экземпляра части, это привело бы к тому, что одноразовые части не будут освобождены. Метод dispose для привязанной части вызывается вне блокировки.
Методы
AddBoundInstance(IDisposable) |
Привязывает время существования удаляемой части к этому контексту времени жизни. |
AllocateSharingId() |
Создает идентификатор, который можно использовать для поиска общих экземпляров частей. |
Dispose() |
Освобождает контекст времени жизни и все экземпляры частей, привязанные к нему. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
FindContextWithin(String) |
Находит наиболее широкий контекст времени существования в пределах всех заданных общих границ. |
GetExport(CompositionContract) |
Извлекает экспорт, соответствующий заданному контракту. (Унаследовано от CompositionContext) |
GetExport(Type) |
Извлекает экспорт, соответствующий заданному типу. (Унаследовано от CompositionContext) |
GetExport(Type, String) |
Извлекает экспорт, соответствующий заданному имени и типу. (Унаследовано от CompositionContext) |
GetExport<TExport>() |
Извлекает экспорт, соответствующий заданному параметру универсального типа. (Унаследовано от CompositionContext) |
GetExport<TExport>(String) |
Извлекает экспорт, который соответствует заданному параметру универсального типа и имени контракта. (Унаследовано от CompositionContext) |
GetExports(Type) |
Извлекает коллекцию всех экспортов, соответствующих заданному типу. (Унаследовано от CompositionContext) |
GetExports(Type, String) |
Извлекает все экспорты, соответствующие заданному типу и имени контракта. (Унаследовано от CompositionContext) |
GetExports<TExport>() |
Извлекает все экспорты, соответствующие заданному параметру универсального типа. (Унаследовано от CompositionContext) |
GetExports<TExport>(String) |
Извлекает все экспорты, соответствующие заданному параметру универсального типа и имени контракта. (Унаследовано от CompositionContext) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetOrCreate(Int32, CompositionOperation, CompositeActivator) |
Извлекает экземпляр общей части с указанным идентификатором, или, если не удается найти экземпляр части, создает и использует экземпляр части с помощью заданного создателя в указанной операции. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление конкретного объекта LifetimeContext. |
TryGetExport(CompositionContract, Object) |
Извлекает экземпляр контракта из контекста композиции. |
TryGetExport(Type, Object) |
Возвращает экспорт, соответствующий определенному типу, или возвращает значение |
TryGetExport(Type, String, Object) |
Возвращает экспорт, соответствующий определенному имени и типу контракта, или возвращает значение |
TryGetExport<TExport>(String, TExport) |
Возвращает экспорт, соответствующий определенному параметру универсального типа и имени контракта, или возвращает значение |
TryGetExport<TExport>(TExport) |
Возвращает экспорт, соответствующий определенному параметру универсального типа, или возвращает значение |
Методы расширения
SatisfyImports(CompositionContext, Object) |
Удовлетворяет импорты указанного объекта из указанного контекста. |
SatisfyImports(CompositionContext, Object, AttributedModelProvider) |
Удовлетворяет импорты указанного объекта из указанного контекста, используя заданные соглашения. |
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по