Коварный вопрос по 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; } |
- Что будет с программой, если класс A видоизменить так: убрать ключевое слово event?
- Что будет с программой, если вообще во всем коде убрать ключевые слова event?