Код: Выделить всё
public event EventHandler SomeEvent;
Еще одна проблема: что, если у нас есть несколько обработчиков и в первом из них возникло исключение? Все обработчики, кроме первого, будут пропущены.
Поэтому в моем коде я делаю что-то вроде этого:
Код: Выделить всё
var someEvent = SomeEvent;
if (someEvent == null)
return;
foreach (EventHandler handler in someEvent.GetInvocationList())
{
try
{
handler?.Invoke(this, EventArgs.Empty);
}
catch (Exception ex)
{
Console.WriteLine($"Exception in event handler: {ex.Message}");
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... g-an-event
Мобильная версия