Ruby on Rails NameError: неинициализированная константа

Я только что установил новую миграцию и отношения между моделями, и в консоли при тестировании взаимосвязи между таблицами выдает следующую ошибку: 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 ()?

Спасибо

13
задан sisdog 30 November 2010 в 03:02
поделиться