LifetimeContext クラス

定義

ライフタイム ツリー内の 1 つのノードを表します。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.

このオブジェクトには、個別に保護された共有状態の2つの部分が含まれます。共有パーツインスタンスとバインドされたパーツインスタンスです。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)

指定された ID で共有パート インスタンスを取得します。あるいは、パート インスタンスが見つからない場合、指定された操作内で指定されたクリエーターを利用してパート インスタンスを作成し、共有します。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.

適用対象