1. Що таке довіра?
Делегат — це тип посилання, який є керованою версією вказівника функції. У C# делегати — це тип, який зберігає посилання як функції. Делегати можуть посилатися як на екземпляри, так і на статичні методи, тоді як вказівники функції можуть посилатися лише на статичні методи. Оголошення делегата дуже схоже на функцію, на відміну від функції, оскільки делегат не має функціонального тіла і потребує ключового слова Delegate. Делегована декларація визначає сигнатуру функції, яка містить список параметрів і тип повернення. Після визначення делегата можна оголосити змінну типу делегата, яку можна ініціалізувати як функцію з таким самим підписом, що й делегат, і яку потім можна викликати за допомогою змінної делегата. (ps: Насправді він довірив йому клас, і його метою було передати метод як параметр іншим методам!) )
Делегати, хоча й дуже схожі на функціональні вказівники, не є вказівниками. Багато людей ставлять . Делегат у .NET розуміється як безпечний вказівник функції, що є надуманим, а вказівник функції реалізації делегата дуже схожий тим, що забезпечує механізм зворотного виклику програми.
2. Чотири етапи доручення: 1. Оголосіть тип доручення
2. Існує метод, який містить код, що потрібно виконати
3. Створіть делегований інстанс
4. Зателефонуйте делегату
3. Приклади:
|