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,
You can think of them as a construct similar with pointers to functions in C/C++. But they are more than that in C#. Details.