次の方法で共有


BindingBase.EnableCollectionSynchronization メソッド

定義

callbackcontext を使用して、collection での同期を開始します。

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フレームワークは、context書き込みアクセスが必要かどうかを示す アクセス メソッド と bool を、フレームワークがマルチスレッド環境でコレクションを変更する必要があるたびにのアプリケーション開発者のCollectionSynchronizationCallback実装に渡します。 アプリケーション開発者の実装では、 オブジェクト (単にロック オブジェクトまたはコレクションが存在するオブジェクトである可能性があります) と パラメーターのboolwriteAccess値に基づいてcontext、 を呼び出accessMethodす際に を決定するlock必要があります。

Xamarin からです。への弱い参照collectionを維持Forms、アプリケーション開発者は ガベージ コレクションを支援するために を呼び出すDisableCollectionSynchronization(IEnumerable)必要はありません。

適用対象