В спецификациях языка С# он явно указывает:
Делегаты похожи на концепцию указателей функций, найденных в некоторых другие языки, но в отличие от функции указатели, делегаты объектно-ориентированный и безопасный тип.
Я понимаю, что делегаты должны быть немного более гибкими, чем указатели, потому что .NET перемещает память. Это единственное различие, о котором я знаю, но я не уверен, как это превратит делегата в концепцию OO...?
Что делает указатель функции не объектно-ориентированным? Являются ли указатели и указатели функций эквивалентными?