title: Why do we need C# delegates
body: <p>I never seem to understand why we need delegates?
  I know they are immutable reference types that hold reference of a method but why can't we just call the method directly, instead of calling it via a delegate?</p>
  
  <p>Thanks</p>