MenuItemCollection.SyncRoot Eigenschaft

Definition

Ruft ein Objekt ab, mit dem der Zugriff auf das MenuItemCollection-Objekt synchronisiert werden kann.

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

Eigenschaftswert

Ein Object, mit dem der Zugriff auf die MenuItemCollection-Auflistung synchronisiert werden kann.

Implementiert

Hinweise

Die SyncRoot -Eigenschaft stellt eine synchronisierte Version des Objekts bereit, die MenuItemCollection mit Synchronisierungscode (Threading) verwendet werden kann.

Achtung

Die IsSynchronized Eigenschaft dieser Klasse gibt immer zurück false, was angibt, dass die MenuItemCollection Klasse nicht synchronisiert ist (nicht threadsicher).

Beim Synchronisieren von Code müssen Vorgänge für das SyncRoot Objekt der MenuItemCollection Auflistung und nicht direkt für das MenuItemCollection Objekt selbst ausgeführt werden. Dies gewährleistet die einwandfreie Funktion von Auflistungen, die von anderen Objekten abgeleitet sind. Insbesondere behält sie eine ordnungsgemäße Synchronisierung mit anderen Threads bei, die MenuItemCollection das Objekt möglicherweise gleichzeitig ändern.

Hinweis

Das in dieser Implementierung zurückgegebene Objekt ist das Objekt, das ArrayList zum Speichern der MenuItem Objekte in der Auflistung verwendet wird.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, können andere Threads die Auflistung immer noch ändern, sodass der Enumerator eine Ausnahme auslöst. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.

Weitere Informationen zur SyncRoot -Eigenschaft finden Sie in der SyncRoot Eigenschaft der ICollection Schnittstelle.

Gilt für:

Weitere Informationen