2011-01-24 6 views
2

Я изучаю C# События on this link, и я немного потерял, когда следующий код вызывается в контексте Main()Вопрос о событиях в Джона Скита книга C# в Глубина

/// <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, вставленный выше?

ответ

2

Класс вызывает OnSomeEvent, когда он хочет отключить событие.

+0

Как это делается? – TLDR

+0

Что-то вроде OnSomeEvent (new EventArgs()) –

+0

Как и любая другая функция. 'OnSomeEvent (new EventArgs());' – mpen

Смежные вопросы