ResourceMirror.Sync<ItemType,ResourceType> Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
Función para comparar un elemento con un recurso. Consulte más arriba.
Devolución de llamada para crear un recurso que falta. Consulte más arriba.
Devolución de llamada para actualizar un recurso existente. Consulte más arriba.
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.