MenuItemCollection.SyncRoot Propriété

Définition

Obtient un objet qui peut être utilisé pour synchroniser l’accès à l’objet MenuItemCollection.

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

Valeur de propriété

Object

Object pouvant être utilisé pour synchroniser l’accès à MenuItemCollection.

Implémente

Remarques

La SyncRoot propriété fournit une version synchronisée de l’objet MenuItemCollection qui peut être utilisée avec le code de synchronisation (threading).

Attention

La IsSynchronized propriété de cette classe retourne falsetoujours , ce qui indique que la MenuItemCollection classe n’est pas synchronisée (pas thread-safe).

La synchronisation du code doit effectuer des opérations sur l’objet SyncRoot de la MenuItemCollection collection, et non directement sur l’objet MenuItemCollection lui-même. Cela garantit un bon fonctionnement des collections dérivées d’autres objets. Plus précisément, il gère une synchronisation appropriée avec d’autres threads qui peuvent modifier simultanément l’objet MenuItemCollection .

Notes

L’objet retourné dans cette implémentation est l’objet ArrayList utilisé pour stocker les MenuItem objets dans la collection.

L'énumération d'une collection n'est intrinsèquement pas une procédure thread-safe. Même lorsqu’une collection est synchronisée, d’autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d’une exception par l’énumérateur. Pour garantir la sécurité des threads au cours de l’énumération, vous pouvez verrouiller la collection pendant l’ensemble de l’énumération ou bien intercepter les exceptions résultant des modifications apportées par les autres threads.

Pour plus d’informations sur la SyncRoot propriété, consultez la SyncRoot propriété de l’interface ICollection .

S’applique à

Voir aussi