共用方式為


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 和資源將會是相同的長度。 例外狀況是,如果建立者函式針對任何專案傳回 false (s) ,則這些專案 (s) 不會有相符的資源,而且資源會比 currentItems 短。 在任何情況下,資源仍會保持排序狀態。 同步會在單一傳遞數據中完成,因此在 O (max (currentItems.Count 資源。計數) ) 時間。

適用於