다음을 통해 공유


BindingBase.EnableCollectionSynchronization 메서드

정의

callbackcontext를 사용하여 collection에서 동기화를 시작합니다.

public:
 static void EnableCollectionSynchronization(System::Collections::IEnumerable ^ collection, System::Object ^ context, Microsoft::Maui::Controls::CollectionSynchronizationCallback ^ callback);
public static void EnableCollectionSynchronization (System.Collections.IEnumerable collection, object context, Microsoft.Maui.Controls.CollectionSynchronizationCallback callback);
static member EnableCollectionSynchronization : System.Collections.IEnumerable * obj * Microsoft.Maui.Controls.CollectionSynchronizationCallback -> unit
Public Shared Sub EnableCollectionSynchronization (collection As IEnumerable, context As Object, callback As CollectionSynchronizationCallback)

매개 변수

collection
IEnumerable

읽거나 업데이트될 컬렉션입니다.

context
Object

callback에 전달될 컨텍스트 및 잠금 개체입니다. null일 수 있습니다.

callback
CollectionSynchronizationCallback

동기화 콜백입니다.

설명

애플리케이션 개발자는 이를 구현 callback 하고 메서드에 EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) 전달하여 올바른 다중 스레드 액세스를 collection사용하도록 설정합니다. 동기화를 사용하도록 설정한 후 Microsoft.Maui.Controls 프레임워크는 액세스 메서드와 bool 쓰기 액세스가 필요한지 여부를 나타내는 액세스 방법을 context프레임워크가 다중 스레드 환경에서 컬렉션을 수정해야 할 때마다 애플리케이션 개발자의 구현 CollectionSynchronizationCallback 에 전달합니다. 애플리케이션 개발자의 구현은 호출 accessMethod중인지 여부에 lock 관계없이 개체(단순히 잠금 개체 또는 컬렉션이 있는 개체일 수 있음)와 매개 변수 값을boolwriteAccess기반으로 context 결정해야 합니다.

Microsoft.Maui.Controls는 약한 참조를 collection유지 관리하므로 애플리케이션 개발자는 가비지 수집을 돕기 위해 호출 DisableCollectionSynchronization(IEnumerable) 할 필요가 없습니다.

적용 대상