LifetimeContext.GetOrCreate メソッド

定義

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

public:
 System::Object ^ GetOrCreate(int sharingId, System::Composition::Hosting::Core::CompositionOperation ^ operation, System::Composition::Hosting::Core::CompositeActivator ^ creator);
public object GetOrCreate (int sharingId, System.Composition.Hosting.Core.CompositionOperation operation, System.Composition.Hosting.Core.CompositeActivator creator);
member this.GetOrCreate : int * System.Composition.Hosting.Core.CompositionOperation * System.Composition.Hosting.Core.CompositeActivator -> obj
Public Function GetOrCreate (sharingId As Integer, operation As CompositionOperation, creator As CompositeActivator) As Object

パラメーター

sharingId
Int32

共有されたパートの ID。

operation
CompositionOperation

必要に応じて、その中でパートが作成される操作。

creator
CompositeActivator

必要に応じて、新しいパートのインスタンスをアクティブ化するアクティベーター。

戻り値

新規または取得したパート。

注釈

パーツ インスタンスが既に存在する場合、このメソッドはロックフリーです。 パーツ インスタンスを作成する必要がある場合は、このメソッドを使用する他の書き込みをシリアル化するロックが実行されます (同時読み取りは引き続き安全でロックフリーです)。 コンポジションとロック取得は、有効期間ツリーで厳密にリーフツールートであることが重要です。

適用対象