Partager via


ResourceMirror.Sync<ItemType,ResourceType> Méthode

Définition

Compte tenu d’une liste triée d’éléments de données sources (currentItems) et d’une liste triée de ressources : pour chaque élément source qui n’a pas de ressource correspondante, essayez de créer une ressource. Pour chaque ressource qui n’a pas d’élément source correspondant, détruisez cette ressource. Pour chaque élément source avec une ressource correspondante, mettez à jour la ressource.

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

Paramètres de type

ItemType

Type d’éléments sources.

ResourceType

Type de ressources.

Paramètres

currentItems
IReadOnlyList<ItemType>

Liste des éléments sources actuels.

resources
List<ResourceType>

Liste des ressources à par synchronisée avec currentItems.

compareIds
ResourceMirror.CompareToResource<ItemType,ResourceType>

Fonction pour comparer un élément à une ressource. Voir ci-dessus.

creator
ResourceMirror.CreateResource<ItemType,ResourceType>

Rappel pour créer une ressource manquante. Voir ci-dessus.

updater
ResourceMirror.UpdateResource<ItemType,ResourceType>

Rappel pour mettre à jour une ressource existante. Voir ci-dessus.

destroyer
ResourceMirror.DestroyResource<ResourceType>

Rappel pour détruire une ressource qui n’a plus d’élément source correspondant.

Remarques

Après cette synchronisation, la liste des ressources aura exactement une ressource pour chaque élément dans currentItems, et currentItems et les ressources auront la même longueur. L’exception est que si la fonction créateur retourne false pour un ou plusieurs éléments, alors ces éléments n’auront pas de ressources correspondantes et les ressources seront plus courtes que currentItems. Dans tous les cas, les ressources resteront triées. La synchronisation se termine en une seule passe sur les données, donc dans O(max(currentItems.Count, ressources). Count)) heure.

S’applique à