Я изучаю C # Events по этой ссылке и немного растерялся, когда следующий код вызывается в контексте Main ()
/// <summary>
/// Raises the SomeEvent event
/// </summary>
protected virtual OnSomeEvent(EventArgs e)
{
SomeEventHandler handler;
lock (someEventLock)
{
handler = someEvent;
}
if (handler != null)
{
handler (this, e);
}
}
Это код, который находится прямо над предложением
«Вы можете использовать один замок для всех ваших событий»
Вопрос:
Как или когда вызывается OnSomeEvent? Я скорее не спрашиваю о блокировке переменных (как в контексте примера кода), я спрашиваю, когда вызывается метод protected virtual
, вставленный выше?