LifetimeContext Класс

Определение

Представляет узел в дереве времени существования.Represents a node in the lifetime tree.

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
Реализации

Комментарии

LifetimeContextОбъект является единицей совместного использования общих частей.The LifetimeContext object is the unit of sharing for shared parts. Он управляет реализацией связанных частей и может использоваться для получения экземпляров либо в составе существующей операции композиции, либо в качестве основания для новой операции композиции.It controls the disposal of bound parts and can be used to retrieve instances, either as part of an existing composition operation or as the basis of a new composition operation. Отдельный контекст времени существования может быть помечен для хранения частей, ограниченных определенными границами общего доступа.An individual lifetime context can be marked to contain parts that are constrained by particular sharing boundaries.

Этот объект содержит две части независимо защищенного общего состояния: экземпляры общих компонентов и экземпляры привязанных частей.This object contains two pieces of independently protected shared state: shared part instances and bound part instances. Экземпляр общей части является недоступным, доступным для чтения и не приводит к проблемам, если он добавляется во время реализации.A shared part instance is lock-free, readable, and does not result in issues if it is added to during disposal. Она защищена сама по себе блокировка.It is protected by being locked itself. Логика активации в этой блокировке не вызывает проблем.Activation logic is unavoidably called under this lock. Экземпляр привязанной части всегда защищен блокировкой и никогда не должен записываться в после удаления.A bound part instance is always protected by locking , and should never be written to after disposal. Для экземпляра привязанной части задается Блокировка в Dispose() методе.A bound part instance is set to under a lock in the Dispose() method. Если запись была разрешена после реализации для экземпляра привязанной части, это привело бы к освобождению частей, которые не освобождаются.If writing were allowed after disposal for a bound part instance, it would result in disposable parts not being released. Метод Dispose в привязанной части вызывается за пределами блокировки.The dispose method on a bound part is called outside of the lock.

Методы

AddBoundInstance(IDisposable)

Привязывает время существования удаляемой части к этому контексту времени жизни.Binds the lifetime of a disposable part to this lifetime context.

AllocateSharingId()

Создает идентификатор, который можно использовать для поиска общих экземпляров частей.Generates an identifier that can be used to locate shared part instances.

Dispose()

Освобождает контекст времени жизни и все экземпляры частей, привязанные к нему.Releases the lifetime context and any part instances bound to it.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
FindContextWithin(String)

Находит наиболее широкий контекст времени существования в пределах всех заданных общих границ.Finds the broadest lifetime context within all of the specified sharing boundaries.

GetExport(CompositionContract)

Извлекает экспорт, соответствующий заданному контракту.Retrieves the export that matches the specified contract.

(Унаследовано от CompositionContext)
GetExport(Type)

Извлекает экспорт, соответствующий заданному типу.Retrieves the export that matches the specified type.

(Унаследовано от CompositionContext)
GetExport(Type, String)

Извлекает экспорт, соответствующий заданному имени и типу.Retrieves the export that matches the specified name and type.

(Унаследовано от CompositionContext)
GetExport<TExport>()

Извлекает экспорт, соответствующий заданному параметру универсального типа.Retrieves the export that matches the specified generic type parameter.

(Унаследовано от CompositionContext)
GetExport<TExport>(String)

Извлекает экспорт, который соответствует заданному параметру универсального типа и имени контракта.Retrieves the export that matches the specified generic type parameter and contract name.

(Унаследовано от CompositionContext)
GetExports(Type)

Извлекает коллекцию всех экспортов, соответствующих заданному типу.Retrieves a collection of all exports that match the specified type.

(Унаследовано от CompositionContext)
GetExports(Type, String)

Извлекает все экспорты, соответствующие заданному типу и имени контракта.Retrieves all exports that match the specified contract name and type.

(Унаследовано от CompositionContext)
GetExports<TExport>()

Извлекает все экспорты, соответствующие заданному параметру универсального типа.Retrieves all exports that match the specified generic type parameter.

(Унаследовано от CompositionContext)
GetExports<TExport>(String)

Извлекает все экспорты, соответствующие заданному параметру универсального типа и имени контракта.Retrieves all exports that match the specified generic type parameter and contract name.

(Унаследовано от CompositionContext)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetOrCreate(Int32, CompositionOperation, CompositeActivator)

Извлекает экземпляр общей части с указанным идентификатором, или, если не удается найти экземпляр части, создает и использует экземпляр части с помощью заданного создателя в указанной операции.Retrieves a shared part instance with the specified ID, or if the part instance can not be found, creates and shares a part instance using the specified creator within the specified operation.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строковое представление конкретного объекта LifetimeContext.Returns the string representation of this LifetimeContext object.

TryGetExport(CompositionContract, Object)

Извлекает экземпляр контракта из контекста композиции.Retrieves a contract instance from the composition context.

TryGetExport(Type, Object)

Возвращает экспорт, соответствующий определенному типу, или возвращает значение null, если он не найден.Returns the export that matches the specified type, or returns null if no match is found.

(Унаследовано от CompositionContext)
TryGetExport(Type, String, Object)

Возвращает экспорт, соответствующий определенному имени и типу контракта, или возвращает значение null, если он не найден.Returns the export that matches the specified contract name and type, or returns null if no match is found.

(Унаследовано от CompositionContext)
TryGetExport<TExport>(String, TExport)

Возвращает экспорт, соответствующий определенному параметру универсального типа и имени контракта, или возвращает значение null, если он не найден.Returns the export that matches the specified generic type parameter and contract name, or returns null if no match is found.

(Унаследовано от CompositionContext)
TryGetExport<TExport>(TExport)

Возвращает экспорт, соответствующий определенному параметру универсального типа, или возвращает значение null, если он не найден.Returns the export that matches the specified generic type parameter, or returns null if no match is found.

(Унаследовано от CompositionContext)

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

SatisfyImports(CompositionContext, Object)

Удовлетворяет импорты указанного объекта из указанного контекста.Satisfies the imports of the specified object from the specified context.

SatisfyImports(CompositionContext, Object, AttributedModelProvider)

Удовлетворяет импорты указанного объекта из указанного контекста, используя заданные соглашения.Satisfies the imports of the specified object from the specified context, using the specified conventions.

Применяется к