次の方法で共有


ActivityCollection.ICollection.SyncRoot プロパティ

定義

ICollection<T> へのアクセスを同期するために使用できるオブジェクトを取得します。

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

プロパティ値

ICollection<T> へのアクセスの同期に使用できるオブジェクトです。

実装

注釈

基になっているストアがパブリックではないコレクションの場合、現在のインスタンスを返す実装が要求されます。 ただし、他のコレクションをラップするコレクションの場合、現在のインスタンスへのポインターを返すのでは不十分なことがあります。このようなコレクションは、基になっているコレクションの SyncRoot プロパティを返す必要があります。

System.Collections 名前空間内のほとんどのコレクション クラスは、Synchronized メソッドも実装しています。このメソッドは、基になるコレクションをラップする同期されたラッパーを提供します。 ただし、派生クラスは ICollection.SyncRoot プロパティを使って、コレクションの同期されたバージョンを独自に提供できます。 同期されたコードでは、コレクションを直接操作するのではなく、コレクションの ICollection.SyncRoot プロパティに対して操作を実行します。 こうすることにより、他のオブジェクトから派生したコレクションを適切に操作することができます。 特に、コレクション インスタンスを同時に変更する可能性がある別スレッドとの間で、正常な同期を維持します。

適用対象