Delegates act as “remote controls” for methods in C#, letting you treat behavior as a first-class object. Pass them around, invoke them anywhere, and swap implementations at runtime—without tightly coupling your components.

Delegates act as “remote controls” for methods in C#, letting you treat behavior as a first-class object. Pass them around, invoke them anywhere, and swap implementations at runtime—without tightly coupling your components.