LifetimeContext.GetOrCreate 方法

定義

擷取具有指定識別碼的共用組件執行個體;或在找不到組件執行個體時,於指定的作業中使用指定建立者來建立及共用組件執行個體。

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

共用組件的識別碼。

operation
CompositionOperation

必要時要建立組件的作業。

creator
CompositeActivator

可在必要時啟動新組件執行個體的啟動項。

傳回

新的或擷取的組件。

備註

如果元件實例已經存在,這個方法就會是無鎖定的。 如果必須建立元件實例,將會擷取鎖定,以串行化使用此方法的其他寫入, (並行讀取將繼續安全且無鎖定) 。 因此,組合很重要,因此鎖定擷取是存留期樹狀結構中的嚴格分葉對根。

適用於