Я хотел бы задать этот вопрос до тех пор, пока я пытаюсь вникнуть в использование и цель делегатов, хотя, скорее всего, его задавали в аналогичных формулировках.
Я знаю, что делегаты служат указателями на функции, которые используются в С++. Дело в том, что в С# они служат в основном как альтернатива интерфейсам и полиморфизму. Поскольку я могу создавать подклассы определенного класса и предоставлять им соответствующие методы каждому, что предлагает делегатам дополнительно к этому? Существуют ли случаи, которые предусматривают их использование, или просто ремонтируемость кода при использовании делегатов? Вы порекомендовали бы их широкое развертывание по интерфейсам?
Я говорю исключительно о делегатах, и я хочу отличить их роль от роли событий.