1. Ce este încredințarea?
Un delegat este un tip de referință, care este o versiune gestionată a unui pointer de funcție. În C#, delegații sunt un tip care stochează referințe ca funcții. Delegații pot face referire atât la instanțe, cât și la metode statice, în timp ce pointerii de funcție pot face referire doar la metode statice. Declarația delegatului este foarte asemănătoare cu o funcție, spre deosebire de o funcție în sensul că delegatul nu are un corp de funcție și necesită cuvântul-cheie Delegat. Declarația delegată specifică o semnătură de funcție care conține o listă de parametri și un tip de returnare. Odată ce delegatul este definit, poate fi declarată o variabilă de tipul delegat, care poate fi inițializată ca referențiată de o funcție cu aceeași semnătură ca delegatul, care poate fi apelată folosind variabila delegat. (ps: De fapt, i-a încredințat o clasă, iar scopul lui era să transmită metoda ca parametru altor metode!) )
Delegații, deși foarte asemănători cu pointerii de funcție, nu sunt indicatori. Mulți oameni pun . Delegatul în .NET este înțeles ca un indicator de funcție sigur, ceea ce este exagerat, iar indicatorul de funcție al implementării delegate este foarte asemănător prin faptul că oferă un mecanism de callback pentru program.
2. Patru etape ale încredințării: 1. Declararea tipului de încredințare
2. Există o metodă care conține codul ce urmează să fie executat
3. Crearea unei instanțe delegate
4. Apelarea instanței delegate
3. Exemple:
|