CollectionSynchronizationCallback Делегат

Определение

Делегат для обратного вызова в EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback).

public delegate void CollectionSynchronizationCallback(IEnumerable collection, object context, Action accessMethod, bool writeAccess);
type CollectionSynchronizationCallback = delegate of IEnumerable * obj * Action * bool -> unit

Параметры

collection
System.Collections.IEnumerable

Коллекция, переданная в EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback).

context
System.Object

Контекст или объект блокировки, переданный в EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback).

accessMethod
System.Action

Действие, считывающее или изменяющее collection.

writeAccess
System.Boolean

Значение, указывающее, требуется ли методу accessMethod доступ с правами на запись.

Комментарии

Разработчики приложений CollectionSynchronizationCallback реализуют метод и передают его в EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) метод , чтобы обеспечить правильный многопоточный доступ к collection. После включения синхронизации Xamarin. Forms платформа передается accessMethod в реализацию CollectionSynchronizationCallback разработчика приложения каждый раз, когда платформе необходимо изменить коллекцию в многопоточной среде. Реализация разработчика приложения должна решить на основе context объекта (который может быть просто блокирующим объектом или объектом, на котором находится коллекция) и значения writeAccess параметра, следует ли при lock вызове accessMethod.

Применяется к