MenuItemCollection.SyncRoot Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.