Un delegat este o clasă care definește tipul de metodă astfel încât să poată fi transmisă ca argument către o altă metodă. Un eveniment este o comisie specială.
1. Declarația de încredințare
(1). delegare
delegat
Delegate are cel puțin 0 parametri și un maxim de 32 de parametri și nu poate avea valoare de retur sau poate specifica un tip de valoare de retur.
De exemplu, delegat public int MethodtDelegate(int x, int y); Indică faptul că există doi parametri și returnează un tip int.
(2). Acțiune
Action este un delegat generic fără valoare de returnare.
Acțiunea reprezintă un delegat fără parametri și fără valoare de returnare
Action<int,string> indică un delegat cu un parametru intrant int și fără valoare de retur pentru șirul
Action<int, string, bool> indică un delegat cu parametrii de intrare int, string, bool fără valori de returnare
Action<int, int, int, int> înseamnă că au trecut 4 parametri de tip int și nu există o valoare returnată
Acțiunea are cel puțin 0 parametri și un maxim de 16 parametri, fără valoare de returnare.
Exemplu:
(3). Func
Func este un delegat generic cu o valoare de returnare
Func<int> înseamnă un delegat fără parametri și returnează o valoare int
Func<object, string,int> reprezintă un delegat cu parametrul de intrare ca obiect, iar șirul returnează o valoare int
Func<object, string,int> reprezintă un delegat cu parametrul de intrare ca obiect, iar șirul returnează o valoare int
Func<T1,T2,,T3,int> reprezintă un delegat cu parametrul de intrare T1, T2, ,T3 (generic) care returnează o valoare int
Func are cel puțin 0 parametri și un maxim de 16 parametri, care sunt returnați conform valorii de returnare generice. Trebuie să existe o valoare de returnare, nu nulă
Exemplu:
(4) .predicat
predicatul este un delegat generic care returnează un tip bool
<int> predicatul reprezintă un delegat cu parametrul de intrare int returnând bool
Predicatul are și un singur parametru, iar valoarea de returnare este fixată la bool
Exemplu:
|