C # EventHandler никогда не получает подписчиков - PullRequest
0 голосов
/ 01 октября 2018

У меня есть класс контроллера и класс менеджера.

Я хочу, чтобы мой класс менеджера вызывал функцию из моего контроллера для запуска события.

Мой контроллер выглядит примерно так:

public class Controller{
    public Controller(Mgr mgr)
    {
        m_mgr = mgr;
        m_mgr.schedulerReload += reloadScheduler;
    }

    void reloadScheduler(object sender, EventArgs e)
    {
        ReloadSchedulerQueue();
    }
}

где ReloadSchedulerQueue - это функция, которую я хочу вызвать из своего события.

мой класс менеджера выглядит следующим образом

public class Manager{
    public event EventHandler schedulerReload;

    public void somefunction() {
      //do something
      schedulerReload(this, EventArgs.Empty);
    }
}

Всякий раз, когда я запускаю это, я вижу, чтособытие schedulerReload получает исключение нулевой ссылки, я полагаю, потому что никто не подписан на мое событие.Тем не менее, при просмотре кода я отчетливо вижу, что конструктор и строка

m_mgr.schedulerReload += reloadScheduler;

явно нажимаются несколько раз перед вызовом somefunction ().Я знаю, что могу обработать это исключение, проверив свой обработчик событий перед вызовом, но я не знаю, почему мой обработчик событий не подписывается.

Что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...