Compartir a través de


ResourceMirror.Sync<ItemType,ResourceType> Método

Definición

Dada una lista ordenada de elementos de datos de origen (currentItems) y una lista ordenada de recursos: para cada elemento de origen que no tiene un recurso coincidente, intente crear un recurso. Para cada recurso que no tiene un elemento de origen coincidente, destruya ese recurso. Para cada elemento de origen con un recurso coincidente, actualice el recurso.

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))

Parámetros de tipo

ItemType

Tipo de elementos de origen.

ResourceType

Tipo de recursos.

Parámetros

currentItems
IReadOnlyList<ItemType>

Lista de elementos de origen actuales.

resources
List<ResourceType>

Lista de recursos a mediante sincronización con currentItems.

compareIds
ResourceMirror.CompareToResource<ItemType,ResourceType>

Función para comparar un elemento con un recurso. Consulte más arriba.

creator
ResourceMirror.CreateResource<ItemType,ResourceType>

Devolución de llamada para crear un recurso que falta. Consulte más arriba.

updater
ResourceMirror.UpdateResource<ItemType,ResourceType>

Devolución de llamada para actualizar un recurso existente. Consulte más arriba.

destroyer
ResourceMirror.DestroyResource<ResourceType>

Devolución de llamada para destruir un recurso que ya no tiene un elemento de origen coincidente.

Comentarios

Después de esta sincronización, la lista de recursos tendrá exactamente un recurso para cada elemento de currentItems y currentItems y los recursos tendrán la misma longitud. La excepción es si la función creator devuelve false para cualquier elemento, esos elementos no tendrán recursos coincidentes y los recursos serán más cortos que currentItems. En cualquier caso, los recursos permanecerán ordenados. La sincronización se completa en un solo paso de los datos, por lo que en O(max(currentItems.Count, recursos. Count)) time.

Se aplica a