Лекция 5 Делегаты. Что это такое?



бет2/5
Дата02.02.2023
өлшемі0,54 Mb.
#167159
түріЛекция
1   2   3   4   5
Байланысты:
80274.pptx
веб (копия), 94110.pptx, techspec 8168894 21709413

2 в 1

  • При вызове делегат может вызывать сразу несколько методов.
  • Это называется многоадресностью.
  • Чтобы добавить в список методов делегата (список вызова) дополнительный метод, необходимо просто добавить два делегата с помощью оператора сложения или назначения сложения ("+" или "+=").

2 в 1

  • 2 метода, вызываемые через 1 делегат.
  • Методов на делегат можно прикрутить сколько угодно

Пример. Вариант 3

Удаление метода

  • Чтобы удалить метод из списка вызова, используйте оператор decrement или назначения decrement ("-" или «-=»).

Удаление метода

  • И «отписать метод»

Анонимные методы

Пример

  • Пример создания анонимного метода.
  • Сам метод:
  • delegate(int k) {Console.WriteLine("Число: " +

    k); };

Использование метода

Зачем они нужны

  • Использование анонимных методов позволяет сократить издержки на кодирование при создании делегатов, поскольку не требуется создавать отдельный метод.
  • Например, указание блока кода вместо делегата может быть целесообразно в ситуации, когда создание метода может показаться ненужным действием.

Немного истории

  • Именованные методы были единственным способом объявления делегата в версиях C#, предшествующих версии 2.0.
  • Анонимные методы появились в C# 2.0 (Visual Studio 2005)
  • А в версии C# 3.0 (Visual Studio 2008) их заменили лямбда-выражения.

Лямбда-выражения

  • Лямбда-выражение — это анонимная функция, с помощью которой можно создавать типы делегатов или деревьев выражений.
  • Лямбда-выражения особенно полезны при написании выражений запросов LINQ.


Достарыңызбен бөлісу:
1   2   3   4   5




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет