Поделиться через


TreeNodeCollection.SyncRoot Свойство

Определение

Возвращает объект, который позволяет синхронизировать доступ к объекту TreeNodeCollection.

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

Значение свойства

Object, который может быть использован для синхронизации доступа к коллекции TreeNodeCollection.

Реализации

Комментарии

Свойство SyncRoot предоставляет синхронизированную TreeNodeCollection версию , которую можно использовать с синхронизацией (потоком) кода.

Внимание!

Свойство IsSynchronized этого класса всегда возвращает falseзначение , указывающее, что TreeNodeCollection класс не синхронизирован (не является потокобезопасном).

Синхронизированный код должен выполнять операции с SyncRoot объектом объекта , а TreeNodeCollectionне непосредственно с TreeNodeCollection самим объектом . Это обеспечивает правильную работу коллекций, являющихся производными других объектов. В частности, он поддерживает правильную синхронизацию с другими потоками, которые могут одновременно изменять TreeNodeCollection объект.

Примечание

Объект, возвращаемый в этой реализации, является объектом, используемым System.Collections.ArrayList для хранения TreeNode объектов в коллекции.

Перечисление коллекции не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменять коллекцию, что приводит к тому, что перечислитель создает исключение. Для обеспечения потокобезопасности при перечислении можно либо заблокировать коллекцию на все время перечисления, либо перехватывать исключения, возникающие в результате изменений, внесенных другими потоками.

Дополнительные сведения о свойстве SyncRoot см. в ICollection.SyncRoot разделе Свойство System.Collections.ICollection интерфейса .

Применяется к

См. также раздел