BlockReentrancy in ObservableCollection<T>

Könnte bitte jemand so freundlich, mir zu erklären, was der Zweck der BlockReentrancy Methode ist in der ObservableCollection<T> ?

MSDN zeigt Folgendes Beispiel:

//The typical usage is to wrap an OnCollectionChanged call within a using scope, as in the following example:

using (BlockReentrancy())
{
    //OnCollectionChanged call
}

Aber das scheint nicht zu klären für mich, was der Zweck ist. Jemand darauf zu erklären?

  • Aussprechen BlockReëntrancy
  • Zusätzlich zu den akzeptierten Antworten, ist es erwähnenswert, dass using (BlockReentrancy()) {} ist auch erforderlich im multi-threaded Fall verwenden, wenn die Sammlung aktualisiert, so Häufig, dass es zu überschneidungen mit der OnCollectionChanged Verarbeitung. Dies kann möglicherweise passieren, mit nur einem einzelnen XAML-unverbindlich und ohne weitere explizite Abonnenten in der benutzerdefinierten code.
Schreibe einen Kommentar