OriginalGriff
Делегаты фактически являются "указателями на функции" - поэтому они позволяют хранить "функцию" в переменной и выполнять ее позже.
Это используется для обработчиков событий: нажимается кнопка, которая вызывает событие Click.
Система смотрит на переменную обработчика событий Click и выполняет найденную там функцию. (Это ужасное упрощение, но пока сойдет.)
Это также позволяет передавать функцию методу во время выполнения, и это очень удобно.
Например, можно написать метод, который печатает документ - и передать ему функцию, которая фактически печатает на экране во время выполнения, или функцию, которая печатает на принтере, или файл, или базу данных, или ... все это без необходимости каким - либо образом изменять метод, который решает, что печатать где на странице-ему не нужно знать, что он печатает, он просто вызывает соответствующую функцию из делегата, который вы ему передали.
phil.o
Мой 5-й :)
Не говоря уже о том, что делегаты не имеют ничего общего со статическими или экземплярными членами, в частности. Делегат может быть статичным или нет.
(Я упоминаю об этом не для вас, а для опа, который, кажется, смешивает несколько несвязанных вещей).