Sdílet prostřednictvím


MenuItemCollection.SyncRoot Vlastnost

Definice

Získá objekt, který lze použít k synchronizaci přístupu k objektu MenuItemCollection .

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

Hodnota vlastnosti

Lze Object použít k synchronizaci přístupu k objektu MenuItemCollection.

Implementuje

Poznámky

Vlastnost SyncRoot poskytuje synchronizovanou verzi objektu MenuItemCollection , kterou lze použít se synchronizací kódu (threading).

Upozornění

Vlastnost IsSynchronized této třídy vždy vrátí false, což značí, že MenuItemCollection třída není synchronizována (není bezpečná pro vlákno).

Synchronizace kódu musí provádět operace s SyncRoot objektem MenuItemCollection kolekce, nikoli přímo na samotném objektu MenuItemCollection . Tím se zajistí správná operace kolekcí odvozených z jiných objektů. Konkrétně udržuje správnou synchronizaci s jinými vlákny, která mohou současně upravovat MenuItemCollection objekt.

Poznámka:

Objekt vrácený v této implementaci je ArrayList objekt použitý k uložení MenuItem objektů v kolekci.

Výčet prostřednictvím kolekce není vnitřně bezpečným postupem pro přístup z více vláken. I když je kolekce synchronizována, ostatní vlákna mohou stále upravovat kolekci, což způsobí, že enumerátor vyvolá výjimku. Chcete-li zaručit bezpečnost vláken během výčtu, můžete buď uzamknout kolekci během celého výčtu, nebo zachytit výjimky vyplývající z změn provedených jinými vlákny.

Další informace o SyncRoot vlastnosti naleznete v SyncRoot vlastnosti ICollection rozhraní.

Platí pro

Viz také