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
- System.Collections.IEnumerable
Коллекция, которая будет прочитана или обновлена.
- context
- System.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) в сборке мусора.