次の方法で共有


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 同期バージョンを提供します。

注意事項

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

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

Note

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

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

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

適用対象

こちらもご覧ください