MenuItemCollection.SyncRoot Egenskap

Definition

Hämtar ett objekt som kan användas för att synkronisera åtkomsten MenuItemCollection till objektet.

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

Egenskapsvärde

En Object som kan användas för att synkronisera åtkomsten MenuItemCollectiontill .

Implementeringar

Kommentarer

Egenskapen SyncRoot innehåller en synkroniserad version av MenuItemCollection objektet som kan användas med synkroniseringskod (trådning).

Caution

Egenskapen IsSynchronized för den här klassen returnerar falsealltid , vilket anger att MenuItemCollection klassen inte är synkroniserad (inte trådsäker).

Synkronisering av kod måste utföra åtgärder på SyncRoot objektet i MenuItemCollection samlingen, inte direkt på MenuItemCollection själva objektet. Detta säkerställer korrekt drift av samlingar som härleds från andra objekt. Mer specifikt upprätthåller den korrekt synkronisering med andra trådar som kan ändra MenuItemCollection objektet samtidigt.

Note

Objektet som returneras i den här implementeringen är det ArrayList objekt som används för att lagra objekten MenuItem i samlingen.

Att räkna upp genom en samling är i sig inte en trådsäker procedur. Även när en samling synkroniseras kan andra trådar fortfarande ändra samlingen, vilket gör att uppräknaren genererar ett undantag. För att garantera trådsäkerheten under uppräkningen kan du antingen låsa samlingen under hela uppräkningen eller fånga undantagen från ändringar som gjorts av andra trådar.

Mer information om egenskapen SyncRoot finns i SyncRoot egenskapen för ICollection gränssnittet.

Gäller för

Se även