BindingBase.EnableCollectionSynchronization 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 callback
和 context
啟動 collection
上的同步處理。
public:
static void EnableCollectionSynchronization(System::Collections::IEnumerable ^ collection, System::Object ^ context, Microsoft::Maui::Controls::CollectionSynchronizationCallback ^ callback);
public static void EnableCollectionSynchronization (System.Collections.IEnumerable collection, object context, Microsoft.Maui.Controls.CollectionSynchronizationCallback callback);
static member EnableCollectionSynchronization : System.Collections.IEnumerable * obj * Microsoft.Maui.Controls.CollectionSynchronizationCallback -> unit
Public Shared Sub EnableCollectionSynchronization (collection As IEnumerable, context As Object, callback As CollectionSynchronizationCallback)
參數
- collection
- IEnumerable
要讀取或更新的集合。
- context
- Object
要傳遞至 callback
的內容或鎖定物件。 可以是 null
。
- callback
- CollectionSynchronizationCallback
同步處理回呼。
備註
應用程式開發人員會實 callback
作並將它傳遞至 EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) 方法,以啟用正確的多執行緒存取 collection
。 啟用同步處理之後,Microsoft.Maui.Controls 架構會傳遞存取方法 context
, 和 ,指出 bool
是否需要寫入權限,每次架構需要在多執行緒環境中修改集合時,應用程式開發人員的 實 CollectionSynchronizationCallback 作。 應用程式開發人員的實作應該根據 context
物件 (決定,這可能只是鎖定物件或集合所存留的物件) ,以及參數的值 bool
writeAccess
,不論呼叫 時 accessMethod
是否為 lock
。
由於 Microsoft.Maui.Controls 會維護 的 collection
弱式參考,因此應用程式開發人員不需要呼叫 DisableCollectionSynchronization(IEnumerable) 來協助垃圾收集。