Gollum's den

ASP.NET (и не только) здесь и сейчас!

View Eugene Agafonov's profile on LinkedIn

События, делегаты, собеседования

Наткнулся на статью http://habrahabr.ru/blogs/net/65697/ в которой приводили пример вопроса на собеседовании:

public class A

{

  public void OnDoWork()

  {

    if (DoWork != null)

      DoWork(this, EventArgs.Empty);

  }

 

  public event EventHandler DoWork;

}

 

1. Что будет с программой, если класс A видоизменить так: убрать ключевое слово event?
2. Что будет с программой, если вообще во всем коде убрать ключевые слова event?

 
Поэтому ответы на вопросы будут такие:
1. Ничего не изменится
2. Ничего не изменится, если только в программе нет объявленных в интерфейсах событий.

На мой взгляд, сегодня подобное характерно на собеседованиях. Задающие вопросы люди САМИ не знают правильного ответа. Более того, и пример приводят абсолютно бессмысленный, с публичным обработчиком этого самого события. И даже потом пишут статьи на популярном ресурсе, декларируя такие замечательные ответы.

Пусть попробуют на досуге:

var test = new A();

test.DoWork = null;

 

UPD: В комментариях нашлись-таки люди, которые привели правильный ответ. Надеюсь до этого комментария хоть кто-нибудь дочитает :)

Posted: Jul 30 2009, 06:50 AM by Gollum | with no comments
Filed under: ,