Я только что установил новую миграцию и отношения между моделями, и в консоли при тестировании взаимосвязи между таблицами выдает следующую ошибку: NameError: неинициализированная константа. У меня есть массив объектов BackgroundWorker, запускающих экземпляры класса Worker. Когда я вызываю класс Worker, экземпляр объекта выполняет свою работу, а затем заканчивается код (цикл завершается) ....
Привет всем. У меня есть массив объектов BackgroundWorker, запускающих экземпляры класса Worker. Когда я вызываю класс Worker, экземпляр объекта выполняет свою работу, а затем заканчивается код (цикл завершается). Я могу прослушивать событие RunWorkerCompleted (), но когда оно вызывает созданный мной делегат, мне нужно знать, какой из моих объектов Worker только что завершился.
Я вижу свойство UserState в RunWorkerCompletedEventArgs, которое приходит к моему делегату, но я понятия не имею, как установить его в моем объекте Worker по мере его завершения.
Есть идеи?
фрагмент из моего класса WorkManager.cs
public Worker AddWorker()
{
Worker w = new Worker();
_workers.Add(w.WorkerID,w);
BackgroundWorker bg = new BackgroundWorker();
_bgworkers.Add(bg);
bg.DoWork += w.Start;
bg.WorkerReportsProgress = true;
bg.WorkerSupportsCancellation = true;
bg.ProgressChanged += ProcessWorkerMessage;
bg.RunWorkerCompleted += WorkerFinished;
w.WorkManager = this;
w.BackgroundWorker = bg;
bg.RunWorkerAsync(w);
return w;
}
public void WorkerFinished(object sender, RunWorkerCompletedEventArgs e)
{
if (_onManagerEvent != null)
_onManagerEvent(new ManagerEvent { EventDate = DateTime.Now, Message = "Worker ??? successfully ended." });
}
Итак, когда мой объект Worker завершает цикл в своем методе Start (), что мне делать, чтобы заполнить свойство userState объекта RunWorkerCompleteEventArgs "e" который передается моему методу WorkerFinished ()?
Спасибо