Skip to Content

Коварный вопрос по Event,Delegate

На собеседованиях любят задавать всякие каверзные вопросы. Одним из любимых вопросов на понимание .net платформы является вопрос про события и делегаты. В лучшем случае спрашивают отличия, в худшем могут задать такой вопрос на засыпку.

Дан код:

1
2
3
4
5
6
7
8
9
10
public class A
{
  public void OnDoWork()
  {
    if ( DoWork != null )
      DoWork(this, EventArgs.Empty);
  }
 
  public event EventHandler DoWork;
}
  1. Что будет с программой, если класс A видоизменить так: убрать ключевое слово event?
  2. Что будет с программой, если вообще во всем коде убрать ключевые слова event?

Читать далее→