Graeme Cooper Ответов: 1

Можно ли использовать filesystemwatcher с оператором if для проверки изменения в папке?


Я создаю консольное приложение C# , которое проверяет создание файла в папке с помощью filesystemwatcher.

FileSystemWatcher fileChecker = new FileSystemWatcher();
                    fileChecker.Path = "C:\";
                    fileChecker.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
                    fileChecker.Filter = "*.txt";


fileChecker.Changed += new FileSystemEventHandler(OnChanged);
  fileChecker.Created += new FileSystemEventHandler(OnChanged);

  // Begin watching.
  fileChecker.EnableRaisingEvents = true;

//мое дополнение будет выглядеть примерно так
if(filechecker.created != true)
{
// in this section I'm expecting a change in the folder
}
else
{
// do nothing
}


Что я уже пробовал:

Класс FileSystemWatcher (System.IO) | Microsoft Docs[^]

1 Ответов

Рейтинг:
1

Richard MacCutchan

Вы заявили: fileChecker.Created; как delegate не bool, поэтому вы не можете использовать это утверждение if.


Graeme Cooper

Спасибо за это, не прочитал как следует. Как бы вы проверили, произошло ли изменение/создание файла?

Richard MacCutchan

Ты делаешь это внутри себя. FileSystemEventHandler делегат, который вызывается автоматически, когда происходит изменение.

Graeme Cooper

Спасибо Ричард