предназначенный для хранения ссылок на методы. Делегат, как и любой
другой класс, можно передать в качестве параметра, а затем вызвать инкапсулированный в нем метод.Делегаты используются для поддержки событий, а также как самостоятельная конструкция языка.
Описание делегата задает сигнатуру методов, которые могут быть вызваны с его помощью:
[ атрибуты ] [ спецификаторы ] delegate тип имя([ параметры ])
Пример описания делегата:
public delegate void D ( int i );
Базовым классом делегата является класс System.Delegate