Back to results for “Delegates”
C# › Delegates, Events & Lambdas

How do events differ from plain delegates?

Intermediate

Answer

An event is a delegate wrapped so external code can only subscribe (+=) or unsubscribe (-=), not invoke or overwrite it — enforcing the publisher/subscriber boundary.
public event EventHandler? Saved;
protected void OnSaved() => Saved?.Invoke(this, EventArgs.Empty);
Real-world example A ViewModel raises a Saved event that views subscribe to, without views being able to fire it.