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
可以根据需要激活新部件实例的激活器。
返回
新的或检索到的部件。
注解
如果部件实例已存在,则此方法是无锁的。 如果必须创建部件实例,则会创建一个锁,该锁将序列化使用此方法的其他写入(并发读取将继续是安全且无锁的)。 重要的是,合成,因此锁定获取,是严格叶对根的生存树。