LifetimeContext クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ライフタイム ツリー内の 1 つのノードを表します。
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 、共有パーツの共有の単位です。 バインドされたパーツの破棄を制御し、既存のコンポジション操作の一部として、または新しいコンポジション操作の基礎としてインスタンスを取得するために使用できます。 個々の有効期間コンテキストには、特定の共有境界によって制約される部分を含むマークを付けることができます。
このオブジェクトには、独立して保護された共有状態の 2 つの部分 (共有パーツ インスタンスとバインドされたパーツ インスタンス) が含まれます。
共有パーツ インスタンスはロックフリーで読み取り可能であり、破棄中に に追加された場合、問題は発生しません。 それ自体がロックされることで保護されます。 アクティブ化ロジックは、このロックの下で呼び出されるのは避けられません。
バインドされたパーツ インスタンスは常に ロック 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) |
指定された ID で共有パート インスタンスを取得します。あるいは、パート インスタンスが見つからない場合、指定された操作内で指定されたクリエーターを利用してパート インスタンスを作成し、共有します。 |
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) |
指定の規則を使用して、指定のコンテキストから指定のオブジェクトのインポートを満たします。 |
適用対象
.NET