Vai tā ir komisija? Pārstāvis ir tipam drošs objekts, kas norāda uz citu metodi (vai metodēm) programmā, kas tiks izsaukta vēlāk. Nespeciālistu izteiksmē pārstāvis ir objekts, kas var atsaukties uz metodi, un, kad tiek izveidots pārstāvis, tas izveido objektu, kas atsaucas uz metodi, un pēc tam metodi var izsaukt, tas ir, pārstāvis var izsaukt metodi, uz kuru tā attiecas.
Kā izmantot deleģēšanu? 1. Definējiet pilnvarojuma veidu
[piekļuves modifikators]pārstāvis atgriež tipa pārstāvja nosaukumu (parametru);
2. Deklarējiet uzticēto objektu
Pārstāvja vārds Deleģētās instances nosaukums;
3. Deleģēšanas objekta izveide (nosakiet, ar kuru metodi saistīt)
Pārstāvja instances nosaukums=Jauns pārstāvja nosaukums (noteiktas klases metode)
4. Izmantojiet uzticēto zvana metodi
Deleģētās instances nosaukums (parametrs)
Piesardzības pasākumi attiecībā uz uzticēšanu:1. Deleģējumam un metodei jābūt vienādiem parametriem.
2、Pārstāvis var izsaukt vairākas metodes, t.i., pārstāvis var uzturēt izsaucamo metožu sarakstu, nevis vienu metodi, ko sauc par multiapraidi (multicast)。
3、Ieviešanas metodes palielināšana un samazināšanās, izmantojot += un -= operācijas
Piemērs:
Rakstīšana:
1. Delegāta pārstāvja vārds = jauns pārstāvis (metodes nosaukums, kas tiks izsaukts); Pasūtījuma nosaukums (parametrs);
2. Delegāta pārstāvja vārds = metodes nosaukums, kas tiks izsaukts; Pasūtījuma nosaukums (parametrs);
3. Anonīma metode
pārstāvja nosaukums=Pārstāvis(parametrs){Metodes pamatteksts, kas tiks izsaukts}; Pasūtījuma nosaukums (parametrs);
4. Lambda izteiksme
Pārstāvja pasūtījuma nosaukums=((1. parametrs,。。 parametrs n)=>{metodes pamatteksts, kas tiks izsaukts}); Pasūtījuma nosaukums (parametrs);
5. Izmantojiet Action <T>un Func<T>, pirmajam nav atgriešanās vērtības
Func< 1. parametrs, 2. parametrs, atgrieztā vērtība> pārstāvja nosaukums = ((1. parametrs, 2. parametrs) => {metodes pamatteksts ar atgriezto vērtību }); Atgrieztā vērtība = pasūtījuma nosaukums (1. parametrs, 2. parametrs);
Uzlīmes kods:
|