Este un comision? Un delegat este un obiect sigur pentru tipuri care indică către o altă metodă (sau metode) din program care va fi apelată ulterior. În termeni simpli, un delegat este un obiect care poate face referire la o metodă, iar când un delegat este creat, creează un obiect care face referire la metodă, iar apoi metoda poate fi apelată, adică delegatul poate chema metoda la care se referă.
Cum folosesc delegarea? 1. Definirea tipului de încredințare
[modificator de acces]delegate returnează tipul nume delegat (parametru);
2. Declarați obiectul încredințat
Numele delegatului Numele instanței delegate;
3. Creează un obiect de delegare (determină la ce metodă să se asocieze)
numele instanței delegatului=noul nume delegat (metodă a unei anumite clase)
4. Folosirea metodei apelului încredințat
Numele instanței delegate (parametru)
Precauții pentru încredințare:1. Delegarea și metoda trebuie să aibă aceiași parametri.
2、Un delegat poate chema mai multe metode, adică poate menține o listă de metode apelabile în loc de o singură metodă, cunoscută sub numele de multicast (multicast)。
3、Metoda de implementare crește și scade folosind operațiile += și -=
Exemplu:
Scriere:
1. Numele delegatului delegat = noul delegat (numele metodei care va fi chemat); Numele ordinii (parametru);
2. Delegat Numele delegatului = numele metodei care va fi apelat; Numele ordinii (parametru);
3. Metoda anonimă
delegat nume=delegat(parametr){corp de metodă care va fi apelat}; Numele ordinii (parametru);
4. Expresia lambda
Numele ordinii de delegat=((parametrul 1,。。 parametrul n)=>{corpul metodei care va fi chemat}); Numele ordinii (parametru);
5. Folosește Action <T>și Func<T>, primul nu are valoare de returnare
func< parametru 1, parametru 2, returnează valoare> nume delegat = ((parametru 1, parametru 2) => {corp de metodă cu valoare de returnare }); Valoarea returnării = numele ordinii (parametrul 1, parametrul 2);
Cod autocolant:
|