Normalement, quand je veux annuler un BackgroundWorker en C# Je ferai quelque chose comme ceci:C# BackgroundWorker Annulation avec Helper Fonction
while (backgroundWorker1.IsBusy)
{
backgroundWorker1.CancelAsync();
autoResetEvent1.WaitOne(BGW_CANCEL_TIMEOUT);
}
Dans une application il y a un certain nombre de backgroundWorkers. Est-il valide d'utiliser une fonction d'assistance pour annuler backgroundWorkers, comme ça?
CancelBackgroundWorker(BackgroundWorker bgw, AutoResetEvent are)
{
while (bgw.IsBusy)
{
bgw.CancelAsync();
are.WaitOne(BGW_CANCEL_TIMEOUT);
}
}
Ma préoccupation est qu'au lieu de passer les objets en question dans la fonction, les copies sont faites, battant ainsi le but d'avoir la fonction. L'objectif principal de cette fonction est de réduire l'espace de code et de rendre le code d'application plus lisible/maintenable.
C'était tout! Merci! –