sto riprovando a mettere il main separato dal resto, ma c'è qualcosa che mi sfugge.
ho ricreato la classe DirMonitor:
codice:
namespace DirectoryMonitor
{
class DirMonitor
{
private string path;
public DirMonitor(string path)
{
this.path = path;
}
public void Watcher()
{
FileSystemWatcher fw = new FileSystemWatcher();
fw.Path = path;
fw.IncludeSubdirectories = true;
fw.NotifyFilter =
NotifyFilters.LastAccess |
NotifyFilters.LastWrite |
NotifyFilters.FileName |
NotifyFilters.DirectoryName;
fw.Changed += new FileSystemEventHandler(OnChanged);
fw.Created += new FileSystemEventHandler(OnChanged);
fw.Deleted += new FileSystemEventHandler(OnChanged);
fw.Renamed += new RenamedEventHandler(OnRenamed);
fw.EnableRaisingEvents = true;
Console.WriteLine("Digita q per uscire.");
while (Console.Read() != 'q') ;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
DateTime dt = new DateTime();
dt = DateTime.UtcNow;
Console.WriteLine("Path: " + e.FullPath + " " + e.ChangeType + " at " + dt.ToLocalTime());
}
private void OnRenamed(object source, RenamedEventArgs e)
{
DateTime dt = new DateTime();
dt = DateTime.UtcNow;
Console.WriteLine("Old path:" + e.OldFullPath + " Path: " + e.FullPath + " " + e.ChangeType + " at " + dt.ToLocalTime());
}
}
}
nel main immetto il percorso e istanzio la classe:
codice:
namespace DirectoryMonitor
{
class Program
{
static void Main()
{
Console.WriteLine("Immetti il percorso di una directory:");
string path = Console.ReadLine();
DirMonitor dm = new DirMonitor(path);
dm.Watcher();
}
}
}
però nn mi esce il messaggio:
Console.WriteLine("Digita q per uscire.");
in fondo al metodo watcher.
nn riesco a capire.