Это комиссия? Делегат — это объект с безопасным типом, который указывает на другой метод (или методы) в программе, вызванный позже. Простым языком, делегат — это объект, который может ссылаться на метод, и при создании делегата он создаёт объект, который ссылается на метод, после чего может быть вызван метод, то есть делегат может вызвать тот метод, на который он ссылается.
Как использовать делегирование? 1. Определить тип поручения
[модификатор доступа]делегат возвращает тип имени делегата (параметр);
2. Объявить доверенный объект
Имя делегата Название делегированной инстанции;
3. Создать объект делегации (определить, к какому методу привязать)
Имя экземпляра делегата=Имя нового делегата (метод определённого класса)
4. Используйте метод доверенного вызова
Делегированное имя экземпляра (параметр)
Меры предосторожности при доверении:1. Делегирование и метод должны иметь одинаковые параметры.
2、Делегат может вызывать несколько методов, то есть делегат может поддерживать список вызываемых методов вместо одного метода, известного как мультикаст (multicast)。
3、Реализуйте увеличение и уменьшение метода с помощью операций += и -=
Пример:
Писательство:
1. Имя делегата делегата = новый делегат (имя метода, которое будет вызвано); Название порядка (параметр);
2. Delegate Delegate name = имя метода, которое будет вызываться; Название порядка (параметр);
3. Анонимный метод
delegate delegate name=delegate(parameter){тело метода, которое будет вызвано}; Название порядка (параметр);
4. Лямбда-выражение
Имя приказа делегатов=((Параметр 1,。。 параметр n)=>{тело метода, которое будет вызвано}); Название порядка (параметр);
5. Используйте Action <T>и <T>Func, первый не имеет возврата
Func< параметр 1, параметр 2, возвращаемое значение> имя делегата = ((параметр 1, параметр 2) => {тело метода с возвратным значением }); Return value = имя порядка (параметр 1, параметр 2);
Код стикера:
|