次の方法で共有


TreeNodeCollection.SyncRoot プロパティ

定義

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

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

プロパティ値

Object へのアクセスを同期するために使用できる TreeNodeCollection

実装

注釈

プロパティは SyncRoot 、同期 (スレッド化) コードで使用できる の同期バージョン TreeNodeCollection を提供します。

注意事項

このクラスの プロパティは IsSynchronized 常に を返 falseします。これは、クラスが同期されていないことを示 TreeNodeCollection します (スレッド セーフではありません)。

コードを同期するには、 の オブジェクトに対して操作を SyncRoot 実行する必要があります。それ自体に対して直接ではなく、 のオブジェクト TreeNodeCollectionに対して操作を実行する TreeNodeCollection 必要があります。 こうすることにより、他のオブジェクトから派生したコレクションを適切に操作することができます。 具体的には、オブジェクトを同時に変更している可能性がある他のスレッドとの適切な同期が TreeNodeCollection 維持されます。

注意

この実装で返されるオブジェクトは、オブジェクトを System.Collections.ArrayList コレクションに格納 TreeNode するために使用されるオブジェクトです。

コレクションの列挙処理は、本質的にスレッドセーフな処理ではありません。 コレクションが同期されている場合でも、他のスレッドがコレクションを変更する場合があるため、列挙子が例外をスローする原因になります。 列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。

プロパティのSyncRoot詳細については、 インターフェイスの プロパティをICollection.SyncRootSystem.Collections.ICollection参照してください。

適用対象

こちらもご覧ください