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


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 интерфейса .

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

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