The C# team posts answers to common questions and describes new language features
Put simply, an event gives more limited access than a delegate. If an event is made public, code in
other classes can only add or remove handlers for that event; they can't necessarily fire it, find out
all the handlers for it, or remove handlers they don't know about. Events also allow more flexibility in
terms of how the handlers are stored. For more details on this, see
Gunnerson's article on the topic.
[Author: Jon Skeet]