Freigeben über


ActivityCollection.ICollection.SyncRoot Eigenschaft

Definition

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection<T> synchronisiert werden kann.

property System::Object ^ System::Collections::ICollection::SyncRoot { System::Object ^ get(); };
object System.Collections.ICollection.SyncRoot { get; }
member this.System.Collections.ICollection.SyncRoot : obj
 ReadOnly Property SyncRoot As Object Implements ICollection.SyncRoot

Eigenschaftswert

Object

Ein Objekt, mit dem der Zugriff auf ICollection<T> synchronisiert werden kann.

Implementiert

Hinweise

Bei Auflistungen, die einen nicht öffentlich verfügbaren Speicher verwenden, besteht die erwartete Implementierung in der Rückgabe der aktuellen Instanz. Beachten Sie, dass der Zeiger für die aktuelle Instanz für Auflistungen, die andere Auflistungen enthalten, eventuell nicht ausreichend ist. Hier sollte die SyncRoot-Eigenschaft der zugrunde liegenden Auflistung zurückgegeben werden.

Die meisten Auflistungsklassen im System.Collections-Namespace implementieren darüber hinaus eine Synchronized-Methode, die einen synchronisierten Wrapper um die zugrunde liegende Auflistung zur Verfügung stellt. Abgeleitete Klassen können jedoch mithilfe der ICollection.SyncRoot-Eigenschaft eine eigene synchronisierte Version der Auflistung bereitstellen. Im Synchronisierungscode dürfen Vorgänge nicht direkt für die Auflistung ausgeführt werden. Stattdessen müssen sie für die ICollection.SyncRoot-Eigenschaft der Auflistung ausgeführt werden. Dies gewährleistet die einwandfreie Funktion von Auflistungen, die von anderen Objekten abgeleitet sind. Im Besonderen wird die ordnungsgemäße Synchronisierung mit anderen Threads gewährleistet, die eventuell zur gleichen Zeit Änderungen an der Auflistungsinstanz vornehmen.

Gilt für