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