MenuItemCollection.SyncRoot Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект, который позволяет синхронизировать доступ к объекту MenuItemCollection.
public:
property System::Object ^ SyncRoot { System::Object ^ get(); };
public object SyncRoot { get; }
member this.SyncRoot : obj
Public ReadOnly Property SyncRoot As Object
Значение свойства
Объект Object, который может использоваться для синхронизации доступа к коллекции MenuItemCollection.
Реализации
Комментарии
Свойство SyncRoot предоставляет синхронизированную версию MenuItemCollection объекта, которую можно использовать с синхронизацией (потоком) кода.
Внимание!
Свойство IsSynchronized этого класса всегда возвращает false
значение , которое указывает, что MenuItemCollection класс не синхронизирован (не является потокобезопасно).
Синхронный код должен выполнять операции с SyncRoot объектом MenuItemCollection коллекции, а не непосредственно с MenuItemCollection самим объектом . Это обеспечивает правильную работу коллекций, являющихся производными других объектов. В частности, он поддерживает правильную синхронизацию с другими потоками, которые могут одновременно изменять MenuItemCollection объект .
Примечание
Объект, возвращаемый в этой реализации, является объектом, используемым ArrayList для хранения MenuItem объектов в коллекции.
Перечисление коллекции не является потокобезопасной процедурой. Даже при синхронизации коллекции другие потоки по-прежнему могут изменять коллекцию, в результате чего перечислитель создает исключение. Для обеспечения потокобезопасности при перечислении можно либо заблокировать коллекцию на все время перечисления, либо перехватывать исключения, возникающие в результате изменений, внесенных другими потоками.
Дополнительные сведения о свойстве SyncRoot см. в свойстве SyncRootICollection интерфейса .