Комисионна ли е? Делегатът е обект с безопасен тип, който сочи към друг метод (или методи) в програмата, който ще бъде извикан по-късно. С прости думи, делегат е обект, който може да реферира към метод, и когато се създаде делегат, той създава обект, който се позовава на метода, а след това методът може да бъде извикан, тоест делегатът може да извика метода, към който се отнася.
Как да използвам делегирането? 1. Определете вида на възлагането
[модификатор за достъп] делегат връща тип име на делегат (параметър);
2. Обявете поверения обект
Име на делегата Името на делегираната инстанция;
3. Създайте обект за делегация (определете към кой метод да се свържете)
Име на инстанция на делегат=ново име на делегат (метод от определен клас)
4. Използвайте метода за поверено обаждане
Делегирано име на инстанция (параметър)
Предпазни мерки при възлагане:1. Делегирането и методът трябва да имат еднакви параметри.
2、Делегатът може да извиква множество методи, т.е. делегатът може да поддържа списък с извикваеми методи вместо един метод, известен като мултикаст (мултикаст)。
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) => {Тяло на метода с възвръщаема стойност }); Връщана стойност = име на поръчка (параметър 1, параметър 2);
Код на стикера:
|