ResourceMirror.Sync<ItemType,ResourceType> 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
假設源數據項的 排序 清單 (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 的資源清單。
函式,可比較專案與資源。 請參閱上方。
回呼以建立遺漏的資源。 請參閱上方。
更新現有資源的回呼。 請參閱上方。
回呼以終結不再具有相符來源項目的資源。
備註
在此同步處理之後,資源清單會針對 currentItems 中的每個項目分別有一個資源,而 currentItems 和資源將會是相同的長度。 例外狀況是,如果建立者函式針對任何專案傳回 false (s) ,則這些專案 (s) 不會有相符的資源,而且資源會比 currentItems 短。 在任何情況下,資源仍會保持排序狀態。 同步會在單一傳遞數據中完成,因此在 O (max (currentItems.Count 資源。計數) ) 時間。