BindingBase.EnableCollectionSynchronization 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用 callback
和 context
在 collection
上启动同步。
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
对象 ((可能只是一个锁定对象或集合所在的对象) )和 参数的值bool
writeAccess
(无论在调用 accessMethod
时是否)lock
决定。
因为 Xamarin。Forms维护对 collection
的弱引用,应用程序开发人员无需调用 DisableCollectionSynchronization(IEnumerable) 来帮助垃圾回收。