Squared.Task.IO.DiskMonitor.GetDeletedFiles C# (CSharp) Method

GetDeletedFiles() public method

public GetDeletedFiles ( ) : IEnumerable
return IEnumerable
        public IEnumerable<string> GetDeletedFiles()
        {
            while (true) {
                string item;
                lock (_DeletedFiles) {
                    if (_DeletedFiles.Count > 0)
                        item = _DeletedFiles.Dequeue();
                    else
                        yield break;
                }

                bool excluded = false;
                foreach (var exclusion in _Exclusions) {
                    if (exclusion.IsMatch(item)) {
                        excluded = true;
                        break;
                    }
                }

                if (excluded)
                    continue;

                yield return item;
            }
        }

Usage Example

Beispiel #1
0
        public void DeletedEvents()
        {
            string fileName = TempFolder + @"\test.txt";

            System.IO.File.WriteAllText(fileName, "test");

            Monitor.Monitoring = true;

            for (int i = 0; i < 100; i++)
            {
                Thread.Sleep(10);
            }

            Assert.IsFalse(Monitor.GetChangedFiles().Distinct().ToArray().Contains(fileName));
            Assert.IsFalse(Monitor.GetDeletedFiles().Distinct().ToArray().Contains(fileName));

            System.IO.File.Delete(fileName);

            while (Monitor.NumDeletedFiles < 1)
            {
                Thread.Sleep(1);
            }

            string[] files = Monitor.GetDeletedFiles().Distinct().ToArray();

            Assert.Contains(fileName, files);
        }