Partilhar via


ResourceMirror.Sync<ItemType,ResourceType> Método

Definição

Dada uma lista classificada de itens de dados de origem (currentItems) e uma lista classificada de recursos: para cada item de origem que não tem um recurso correspondente, tente criar um recurso. Para cada recurso que não tem um item de origem correspondente, destrua esse recurso. Para cada item de origem com um recurso correspondente, atualize o 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 itens de origem.

ResourceType

Tipo de recursos.

Parâmetros

currentItems
IReadOnlyList<ItemType>

Lista de itens de origem atuais.

resources
List<ResourceType>

Lista de recursos para sincronizados com currentItems.

compareIds
ResourceMirror.CompareToResource<ItemType,ResourceType>

Função para comparar um item com um recurso. Veja acima.

creator
ResourceMirror.CreateResource<ItemType,ResourceType>

Retorno de chamada para criar um recurso ausente. Veja acima.

updater
ResourceMirror.UpdateResource<ItemType,ResourceType>

Retorno de chamada para atualizar um recurso existente. Veja acima.

destroyer
ResourceMirror.DestroyResource<ResourceType>

Retorno de chamada para destruir um recurso que não tem mais um item de origem correspondente.

Comentários

Após essa Sincronização, a lista de recursos terá exatamente um recurso para cada item em currentItems, e currentItems e recursos terão o mesmo comprimento. A exceção será se a função criador retornar false para qualquer item(s), esses itens não terão recursos correspondentes e os recursos serão menores que currentItems. De qualquer forma, os recursos permanecerão classificados. A sincronização é concluída em uma única passagem sobre os dados, portanto, em O(max(currentItems.Count, resources. Contagem)) hora.

Aplica-se a