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
объекта (который может быть просто блокирующим объектом или объектом, на котором находится коллекция) и значения writeAccess
bool
параметра, следует ли при lock
вызове accessMethod
.
Так как Xamarin.Forms сохраняет слабую ссылку collection
на , разработчикам приложений не нужно вызывать помощь DisableCollectionSynchronization(IEnumerable) в сборке мусора.