Sdílet prostřednictvím


CollectionSynchronizationCallback Delegát

Definice

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

Parametry

collection
System.Collections.IEnumerable

Kolekce, která byla předána do EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback).

context
System.Object

Objekt kontextu nebo zámku, který byl předán do objektu EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback).

accessMethod
System.Action

Akce, která přečte nebo upraví collection.

writeAccess
System.Boolean

Hodnota, která určuje, jestli je v systému vyžadován přístup k zápisu accessMethod.

Poznámky

Vývojáři aplikací implementují metodu CollectionSynchronizationCallback a předávají ji EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) metodě, aby umožnili správný vícevláknový přístup k collection. Po povolení synchronizace Xamarin. Forms rozhraní předává accessMethod implementaci CollectionSynchronizationCallback vývojáře aplikace pokaždé, když rozhraní potřebuje k úpravě kolekce v prostředí s více vlákny. Implementace vývojáře aplikace by se měla rozhodnout na základě objektu context (což může být pouze zamykání objektu nebo objektu, na kterém se nachází kolekce) a hodnoty parametru writeAccess , zda při lock volání accessMethod.

Platí pro