BindingBase.EnableCollectionSynchronization Метод

Определение

Запускает синхронизацию на collection с помощью callback и context.

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
IEnumerable

Коллекция, которая будет прочитана или обновлена.

context
Object

Контекст или объект блокировки, который будет передан в callback. Может иметь значение null.

callback
CollectionSynchronizationCallback

Обратный вызов синхронизации.

Комментарии

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

Так как Xamarin.Forms сохраняет слабую ссылку collectionна , разработчикам приложений не нужно вызывать помощь DisableCollectionSynchronization(IEnumerable) в сборке мусора.

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