ディレクトリ変更の結果として発行されるイベント ハンドラ呼び出しをマーシャリングするために使用するオブジェクトを取得または設定します。
Public Property SynchronizingObject As ISynchronizeInvoke
[C#]
public ISynchronizeInvoke SynchronizingObject {get; set;}
[C++]
public: __property ISynchronizeInvoke* get_SynchronizingObject();public: __property void set_SynchronizingObject(ISynchronizeInvoke*);
[JScript]
public function get SynchronizingObject() : ISynchronizeInvoke;public function set SynchronizingObject(ISynchronizeInvoke);
プロパティ値
ディレクトリ変更の結果として発行されるイベント ハンドラ呼び出しをマーシャリングするために使用するオブジェクトを表す ISynchronizeInvoke 。既定値は null 参照 (Visual Basic では Nothing) です。
解説
SynchronizingObject が null 参照 (Visual Basic では Nothing) の場合は、 Changed 、 Created 、 Deleted 、 Renamed の各イベントを処理するメソッドがシステム スレッド プールのスレッドで呼び出されます。システム スレッド プールの詳細については、 ThreadPool のトピックを参照してください。
Changed 、 Created 、 Deleted 、 Renamed の各イベントを Button などの Windows フォーム コンポーネントで処理するとき、システム スレッド プールを通じてコンポーネントにアクセスできなかったり、例外が発生したりする場合があります。これを防ぐには、 SynchronizingObject を Windows フォーム コンポーネントに設定して、コンポーネントが作成されたスレッドと同じスレッドで Changed 、 Created 、 Deleted 、 Renamed の各イベントを処理するメソッドが呼び出されるようにします。
Windows フォーム デザイナで Visual Studio .NET の内部で FileSystemWatcher を使用すると、 FileSystemWatcher を格納しているコントロールが SynchronizingObject に自動的に設定されます。たとえば、 Form から継承される Form1 のデザイナに FileSystemWatcher を配置した場合、 FileSystemWatcher の SynchronizingObject プロパティには Form1 のインスタンスが設定されます。
必要条件
プラットフォーム: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
FileSystemWatcher クラス | FileSystemWatcher メンバ | System.IO 名前空間 | ISynchronizeInvoke