BindingBase.EnableCollectionSynchronization 方法

定义

使用 callbackcontextcollection 上启动同步。

public static void EnableCollectionSynchronization (System.Collections.IEnumerable collection, object context, Xamarin.Forms.CollectionSynchronizationCallback callback);
static member EnableCollectionSynchronization : System.Collections.IEnumerable * obj * Xamarin.Forms.CollectionSynchronizationCallback -> unit

参数

collection
System.Collections.IEnumerable

将读取或更新的集合。

context
System.Object

将传递给 callback 的上下文或锁定对象。 可为 null

callback
CollectionSynchronizationCallback

同步回叫。

注解

应用程序开发人员实现 callback 并将其传递给 方法, EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) 以启用对 collection的正确多线程访问。 启用同步后,Xamarin。Forms框架每次需要在多线程环境中修改集合时,都会向应用程序开发人员的实现CollectionSynchronizationCallback传递一个访问方法 context,和 一个bool指示是否需要写入访问权限的 。 应用程序开发人员的实现应根据context对象 ((可能只是一个锁定对象或集合所在的对象) )和 参数的值boolwriteAccess(无论在调用 accessMethod时是否)lock决定。

因为 Xamarin。Forms维护对 collection的弱引用,应用程序开发人员无需调用 DisableCollectionSynchronization(IEnumerable) 来帮助垃圾回收。

适用于