Delegaatti on luokka, joka määrittelee metodityypin niin, että se voidaan välittää argumenttina toiselle metodille. Tapahtuma on erityinen tilaus.
1. Luovutusilmoitus
(1). delegaatti
valtuutettu
Delegaatilla on vähintään 0 parametria ja enintään 32 parametria, eikä sillä voi olla palautusarvoa tai määrittää palautusarvotyyppiä.
Esimerkiksi julkinen delegaatti int MethodtDelegate(int x, int y); Tarkoittaa, että on kaksi parametria, ja palauttaa älykkyystyypin.
(2). Toiminta
Toiminto on geneerinen delegaatti ilman palautusarvoa.
Toiminto edustaa delegaattia, jolla ei ole parametreja eikä palautusarvoa
Action<int,string> tarkoittaa delegaattia, jolla on saapuva parametri int eikä merkkijonolle ole palautusarvoa
Action<int,string,bool> tarkoittaa delegaattia, jolla on saapuvat parametrit int,string,bool ilman palautusarvoja
Action<int,int,int,int> tarkoittaa, että sisään on välitetty 4 int-tyyppistä parametria, eikä palautusarvoa ole
Toiminnolla on vähintään 0 parametria ja enintään 16 parametria, eikä palautusarvoa ole.
Esimerkki:
(3). Func
Func on geneerinen delegaatti, jolla on palautusarvo
Func<int> tarkoittaa delegaattia ilman parametreja ja palauttaa int-arvon
Func<object,string,int> edustaa delegaattia, jonka saapuva parametri on objekti, ja merkkijono palauttaa int-arvon
Func<object,string,int> edustaa delegaattia, jonka saapuva parametri on objekti, ja merkkijono palauttaa int-arvon
Func<T1,T2,,T3,int> edustaa delegaattia, jonka saapuva parametri T1, T2, ,T3 (yleinen) palauttaa int-arvon
Funcilla on vähintään 0 parametria ja enintään 16 parametria, jotka palautetaan generic-palautusarvon mukaan. Palautusarvo täytyy olla, ei mitätön
Esimerkki:
(4) .predikaatti
predikaatti on geneerinen delegaatti, joka palauttaa bool-tyypin
predikaatti<int> edustaa delegaattia, jonka saapuva parametri int palauttaa bool-arvoa
Predikaatilla on ja vain yksi parametri, ja palautusarvo on kiinteä bool-arvoon
Esimerkki:
|