こんにちは。
Windows10でWPFのアプリケーションを開発しています。
Visual Studio 2015 Communityを使っています。
###前提・実現したいこと
filesystemwatcherの使い方で悩んでいます。
複数のfilesystemwatcherを使い、相互に状態を見たいです。
複数のwatcherはいくつ使うかわからないので、動的に追加しています。
###試したこと
下記のようにwatcherを設定すると、それぞれのwatcherはfieldでないので参照できません。
こういうときはどのようにするものでしょう。
(1)rootを監視対象にして、すべてのサブフォルダを監視する。今回ならC:\。使うfilesystemwatcherはひとつ。パフォーマンスが心配。
(2)fieldにする。List<FileSystemWatcher>とか?
Createdでforeachする。
(3)その他。
###該当のソースコード
C#
1 2 private void button1Click(object sender, EventArgs e) { 3 string folder = @"c:\tmp1"; 4 var watcher1 = new FileSystemWatcher(); 5 watcher1.Path = folder; 6 watcher1.Created += Watcher1_Created; 7 watcher1.EnableRaisingEvents = true; 8 } 9 10 private void button2Click(object sender, EventArgs e) { 11 string folder = @"c:\tmp2"; 12 var watcher2 = new FileSystemWatcher(); 13 watcher2.Path = folder; 14 watcher2.Created += Watcher2_Created; 15 watcher2.EnableRaisingEvents = true; 16 } 17 18 private void Watcher1_Created(object sender, FileSystemEventArgs e) { 19 string createdfilepath = e.FullPath; 20 //ここでbutton2で作ったwatcher2を表示したい。 21 MessageBox.Show(watcher2.Path);//<private methodなのでない。 22 }
###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2015
Version 14.0.25424.00 Update 3
Microsoft .NET Framework
Version 4.6.01038
インストールしているバージョン:Community
Visual C# 2015 00322-20000-00000-AA575
Microsoft Visual C# 2015
です。
よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/30 08:04