ResourceMirror.Sync<ItemType,ResourceType> 方法

定义

给定 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 的资源列表。

compareIds
ResourceMirror.CompareToResource<ItemType,ResourceType>

用于将项与资源进行比较的函数。 见上。

creator
ResourceMirror.CreateResource<ItemType,ResourceType>

用于创建缺失资源的回调。 见上。

updater
ResourceMirror.UpdateResource<ItemType,ResourceType>

用于更新现有资源的回调。 见上。

destroyer
ResourceMirror.DestroyResource<ResourceType>

用于销毁不再具有匹配源项的资源的回调。

注解

此同步后,资源列表将为 currentItems 中的每个项提供恰好一个资源,而 currentItems 和资源的长度将相同。 例外情况是,如果 creator 函数对任何项 () 返回 false,则这些项 () 将没有匹配的资源,并且资源将短于 currentItems。 在任何情况下,资源都将保持排序状态。 同步在数据的一次传递中完成,因此在 O 中 (max (currentItems.Count 资源。计算) ) 时间。

适用于