1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| using System.Threading;
namespace Toto
{
public class MaClasse
{
MaClasse(String watchDir)
{
fsWatcher = new FileSystemWatcher(watchDir); //le watcher surveille le dossier (watchDir)
fsWatcher.Renamed += new RenamedEventHandler (fsWatcher_Renamed); //lorsqu'un fichier contenu dans le dossier surveillé est renommé, la fonction fsWatcher_Renamed sera appelée
}
void fsWatcher_Renamed(object sender, RenamedEventArgs e)
{
Thread newThread = new Thread(new ThreadStart(RenamedThread)); //je créé un nouveau thread
threadList.Add(newThread); //j'ajoute le thread à ma liste
newThread.Start(); //je lance le thread
}
void RenamedThread()
{
outclass.unefonction(); //entouré d'un try/catch etc.
///////////////////////////////////////////////////////////////
/// COMMENT SUPPRIMER LE THREAD DE LA LISTE?
}
private List<Thread> threadList; //liste des threads
private FileSystemWatcher fsWatcher; //'surveilleur' de dossier
private OutClass outclass; //une class 'exterieure' récupérée par une dll (avec Assembly.LoadFrom() )
}
} |
Partager