ResourceMirror.Sync<ItemType,ResourceType> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
给定 currentItems) (源数据项的 排序 列表和资源 排序 列表:对于没有匹配资源的每个源项,请尝试创建一个资源。 对于没有匹配源项的每个资源,请销毁该资源。 对于具有匹配资源的每个源项,更新资源。
public static void Sync<ItemType,ResourceType> (System.Collections.Generic.IReadOnlyList<ItemType> currentItems, System.Collections.Generic.List<ResourceType> resources, Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.CompareToResource<ItemType,ResourceType> compareIds, Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.CreateResource<ItemType,ResourceType> creator, Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.UpdateResource<ItemType,ResourceType> updater, Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.DestroyResource<ResourceType> destroyer);
static member Sync : System.Collections.Generic.IReadOnlyList<'ItemType> * System.Collections.Generic.List<'ResourceType> * Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.CompareToResource<'ItemType, 'ResourceType> * Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.CreateResource<'ItemType, 'ResourceType> * Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.UpdateResource<'ItemType, 'ResourceType> * Microsoft.MixedReality.WorldLocking.Core.ResourceMirror.DestroyResource<'ResourceType> -> unit
Public Shared Sub Sync(Of ItemType, ResourceType) (currentItems As IReadOnlyList(Of ItemType), resources As List(Of ResourceType), compareIds As ResourceMirror.CompareToResource(Of ItemType, ResourceType), creator As ResourceMirror.CreateResource(Of ItemType, ResourceType), updater As ResourceMirror.UpdateResource(Of ItemType, ResourceType), destroyer As ResourceMirror.DestroyResource(Of ResourceType))
类型参数
- ItemType
源项的类型。
- ResourceType
资源类型。
参数
- currentItems
- IReadOnlyList<ItemType>
当前源项的列表。
- resources
- List<ResourceType>
同步到 currentItems 的资源列表。
用于将项与资源进行比较的函数。 见上。
用于创建缺失资源的回调。 见上。
用于更新现有资源的回调。 见上。
用于销毁不再具有匹配源项的资源的回调。
注解
此同步后,资源列表将为 currentItems 中的每个项提供恰好一个资源,而 currentItems 和资源的长度将相同。 例外情况是,如果 creator 函数对任何项 () 返回 false,则这些项 () 将没有匹配的资源,并且资源将短于 currentItems。 在任何情况下,资源都将保持排序状态。 同步在数据的一次传递中完成,因此在 O 中 (max (currentItems.Count 资源。计算) ) 时间。