'connectFailed' - это событие.Если никто не подписывается на событие, оно будет нулевым, поэтому вы должны проверить нулевой регистр.
Чтобы сделать это безопасным, вам понадобится нулевая проверка, то есть:
if (connectFailed != null)
connectFailed(e, new EventArgs());
Однако , этого шаблона недостаточно из-за многопоточности.Рекомендуемый подход такой:
EventHandler temp = connectFailed;
if (temp != null)
temp(e, new EventArgs());
Это не только проверяет нулевое условие, но и сначала копирует событие, чтобы убедиться, что оно поточно-безопасное (если очередь событий изменяется одним потоком во время событияобрабатывается в другом потоке, поведение может быть неопределенным. Сначала скопировав его, вы убедитесь, что список подписчиков остается неизменным на протяжении всего процесса обработки событий)