言語

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 オブジェクトの同期バージョンを提供します。

Caution

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

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

Note

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

コレクションを列挙することは、本質的にスレッド セーフなプロシージャではありません。 コレクションが同期されている場合でも、他のスレッドがコレクションを変更して、列挙子が例外をスローする可能性があります。 列挙中のスレッド セーフを保証するには、列挙全体の間にコレクションをロックするか、他のスレッドによって行われた変更によって発生する例外をキャッチします。

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

適用対象

こちらもご覧ください