TreeNodeCollection.SyncRoot 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个对象,该对象可用于同步对 TreeNodeCollection 对象的访问。
public:
property System::Object ^ SyncRoot { System::Object ^ get(); };
public object SyncRoot { get; }
member this.SyncRoot : obj
Public ReadOnly Property SyncRoot As Object
属性值
可用于同步对 .. 的访问的 TreeNodeCollectionAObject。
实现
注解
该 SyncRoot 属性提供可用于同步(线程)代码的 TreeNodeCollection 同步版本。
注意
IsSynchronized此类的属性始终返回false,该属性指示TreeNodeCollection该类未同步(不是线程安全)。
同步代码必须对 SyncRoot 对象的对象 TreeNodeCollection执行操作,而不是直接对 TreeNodeCollection 自身执行操作。 这可确保从其他对象派生的集合的正确操作。 具体而言,它与可能同时修改 TreeNodeCollection 对象的其他线程保持适当的同步。
注释
在此实现中返回的对象是 System.Collections.ArrayList 用于将对象存储在 TreeNode 集合中的对象。
通过集合进行枚举本质上不是线程安全的过程。 即使集合同步,其他线程仍可以修改集合,这会导致枚举器引发异常。 若要保证枚举期间的线程安全性,可以在整个枚举期间锁定集合,也可以捕获由其他线程所做的更改导致的异常。
有关属性 SyncRoot 的详细信息,请参阅 ICollection.SyncRoot 接口的属性 System.Collections.ICollection 。