Слайд 2Делегаты
тип объектов, которые могут
ссылаться на метод

Слайд 3Делегаты
Объявление делегата:
delegate <возвращаемый тип> Название(список параметров);

Слайд 4Делегаты
Пример создания экземпляра типа делегата:
delegate int Del(int x);
Del del =

new Del(System.Math.Abs);
или
delegate int Del(int x);
Del del = System.Math.Abs;
Слайд 5Делегаты
обладают
Ковариантностью и Контравариантностью

Слайд 6Делегаты
Одному делегату один метод?

Слайд 7Делегаты
Метод Invoke()-выполняет указанный делегат в том потоке, которому принадлежит базовый дескриптор окна

элемента управления
Слайд 8Делегаты
Анонимные функции:
Анонимные методы
Лямбда-выражения

Слайд 10Делегаты
Для связи безымянных блоков с делегатами

Слайд 11Делегаты
Пример анонимного метода:
delegate void Del();
Del del = delegate { тело метода };

Слайд 12Делегаты
Лямбда-выражения
–
еще один способ создания анонимной функции

Слайд 13Делегаты
Общий вид лямбда-выражения:
(список_параметров)=>выражение
