예제 #1
0
 void fileSystemWatcher_Renamed(object sender, RenamedEventArgs e)
 {
     if (ChangeMethod != null)
     {
         if (Removed_Paths.Contains(e.FullPath))
         {
             Removed_Paths.Remove(e.FullPath);
         }
         if (New_Paths.Contains(e.FullPath))
         {
             New_Paths.Remove(e.FullPath);
         }
         if (New_Paths.Contains(e.OldFullPath))
         {
             New_Paths.Remove(e.OldFullPath);
         }
         if (Changed_Paths.Contains(e.FullPath))
         {
             Changed_Paths.Remove(e.FullPath);
         }
         if (Changed_Paths.Contains(e.OldFullPath))
         {
             Changed_Paths.Remove(e.OldFullPath);
         }
         if (Regex.IsMatch(e.FullPath.ToLower(), RegExFilter))
         {
             this.Ischanged = true;
             Rename_Paths.Add(new Rename_Path(e.OldFullPath, e.FullPath));
         }
         ChangeMethod.DynamicInvoke(sender, e);
     }
 }
예제 #2
0
 void fileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
 {
     if (ChangeMethod != null)
     {
         if (e.ChangeType == WatcherChangeTypes.Created)
         {
             if (New_Paths.Contains(e.FullPath))
             {
                 return;
             }
             if (Removed_Paths.Contains(e.FullPath))
             {
                 Removed_Paths.Remove(e.FullPath);
             }
             if (Regex.IsMatch(e.FullPath.ToLower(), RegExFilter))
             {
                 this.Ischanged = true;
                 New_Paths.Add(e.FullPath);
             }
         }
         else if (e.ChangeType == WatcherChangeTypes.Deleted)
         {
             if (Removed_Paths.Contains(e.FullPath))
             {
                 return;
             }
             if (New_Paths.Contains(e.FullPath))
             {
                 New_Paths.Remove(e.FullPath);
             }
             if (Rename_Paths.Find(f => f.New_path == e.FullPath) != null)
             {
                 Rename_Paths.Remove(Rename_Paths.Find(f => f.New_path == e.FullPath));
             }
             if (Regex.IsMatch(e.FullPath.ToLower(), RegExFilter))
             {
                 this.Ischanged = true;
                 Removed_Paths.Add(e.FullPath);
             }
         }
         else if (e.ChangeType == WatcherChangeTypes.Changed)
         {
             if (Changed_Paths.Contains(e.FullPath))
             {
                 return;
             }
             if (New_Paths.Contains(e.FullPath))
             {
                 New_Paths.Remove(e.FullPath);
             }
             if (Removed_Paths.Contains(e.FullPath))
             {
                 Removed_Paths.Remove(e.FullPath);
             }
             if (Rename_Paths.Find(f => f.New_path == e.FullPath) != null)
             {
                 Rename_Paths.Remove(Rename_Paths.Find(f => f.New_path == e.FullPath));
             }
             if (Regex.IsMatch(e.FullPath.ToLower(), RegExFilter))
             {
                 this.Ischanged = true;
                 Changed_Paths.Add(e.FullPath);
             }
         }
         ChangeMethod.DynamicInvoke(sender, e);
     }
 }