ActivityCollection.ICollection.SyncRoot 属性

定义

获取可用于同步对 ICollection<T> 的访问的对象。

C#
object System.Collections.ICollection.SyncRoot { get; }

属性值

Object

用于同步对 ICollection<T> 的访问的对象。

实现

注解

对于其基础存储区不公用的集合,预期的实现是返回当前实例。 请注意,对于包装了其他集合的集合,指向当前实例的指针可能还不够;这些集合应返回基础集合的 SyncRoot 属性。

System.Collections 命名空间中的大多数集合类也实现 Synchronized 方法,该方法对基础集合提供同步的包装。 不过,派生类可使用 ICollection.SyncRoot 属性来提供各自的同步版本的集合。 同步代码必须对集合的 ICollection.SyncRoot 属性执行操作,而不是直接对集合执行操作。 这样可确保对从其他对象派生的集合正确地执行操作。 具体地说,这样可与可能同时对集合实例进行修改的其他线程保持正确的同步。

适用于

产品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8