TreeNodeCollection.SyncRoot Propriété

Définition

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

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 qui peut être utilisé pour synchroniser l'accès à TreeNodeCollection.

Implémente

Remarques

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

Attention

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

La synchronisation du code doit effectuer des opérations sur l’objet SyncRoot du TreeNodeCollection, et non directement sur le TreeNodeCollection lui-même. Cela garantit un bon fonctionnement des collections dérivées d’autres objets. Plus précisément, il maintient une synchronisation correcte avec d’autres threads qui peuvent modifier simultanément l’objet TreeNodeCollection .

Notes

L’objet retourné dans cette implémentation est l’objet System.Collections.ArrayList utilisé pour stocker les TreeNode 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 ICollection.SyncRoot propriété de l’interface System.Collections.ICollection .

S’applique à

Voir aussi