Introduction
Delegates let you store and use methods like variables. This helps you call different methods flexibly without changing your code.
When you want to pass a method as a parameter to another method.
When you want to decide which method to call at runtime.
When you want to implement event handling in your program.
When you want to write reusable and flexible code that can work with different methods.
When you want to create callback methods that run after some task finishes.