LifetimeContext.GetOrCreate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得具有指定 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
一個能在必要時啟動新零件的啟動器。
傳回
新的或取回的部分。
備註
若零件實例已存在,此方法即為無鎖。 若必須建立該零件實例,則會取得一個鎖,將序列化其他使用此方法的寫入(並行讀取仍安全且無鎖)。 重要的是,組合(因此鎖的取得)必須嚴格遵循終生樹的葉節點到根。