1. Что такое доверение?
Делегат — это тип ссылки, управляемая версия указателя функции. В C# делегаты — это тип, который хранит ссылки в виде функций. Делегаты могут ссылаться как на экземпляры, так и на статические методы, тогда как указатели функций могут ссылаться только на статические методы. Декларация делегата очень похожа на функцию, в отличие от функции, поскольку у делегата нет тела функции и требуется ключевое слово Delegate. Делегированное объявление определяет функциональную подпись, содержащую список параметров и тип возврата. После определения делегата можно объявить переменную типа делегата, которую затем инициализировать как связанную с функцией с той же подписью, что и делегат, а затем вызвать её с помощью переменной делегата. (p.s.: На самом деле, он доверил ему курс, и его цель была передать метод как параметр другим методам!) )
Делегаты, хотя и очень похожи на указатели функций, не являются указателями. Многие люди ставят . Делегат в .NET понимается как безопасный указатель функции, что является надуманным, а указатель функции реализации делегата очень похож тем, что обеспечивает механизм обратного вызова программы.
2. Четыре этапа поручения: 1. Объявить тип поручения
2. Существует метод, содержащий код, подлежащий выполнению
3. Создайте делегированный экземпляр
4. Позвонить в делегат
3. Примеры:
|