Бих искал да задам този въпрос, тъй като в момента се опитвам да се задълбоча в употребата и целта на делегатите, въпреки че вероятно е бил зададен в подобни формулировки.
Знам, че делегатите служат като указатели на функции, използвани в C++. Факт е, че в C# те служат най-вече като алтернатива на интерфейсите и полиморфизма. Тъй като мога да създавам подкласове на конкретен клас и да им предоставя подходящите методи за всеки от тях, какво предлага делегати допълнително към това? Има ли случаи, които предвиждат използването им или просто се подобрява поддържаемостта на кода, когато се използват делегати? Бихте ли препоръчали широкото им внедряване през интерфейси?
Говоря само за делегати и искам да разгранича тяхната роля от ролята на събитията.