Onko se komissio? Delegaatti on tyyppiturvallinen objekti, joka osoittaa ohjelman toiseen metodiin (tai metodeihin), jotka kutsutaan myöhemmin. Yksinkertaisesti sanottuna delegaatti on objekti, joka voi viitata metodiin, ja kun delegaatti luodaan, se luo objektin, joka viittaa metodiin, ja sitten metodi voidaan kutsua, eli delegaatti voi kutsua metodia, johon se viittaa.
Miten käytän delegointia? 1. Määrittele luottamuksen tyyppi
[access modifier]delegate palauttaa tyypin delegate name (parametri);
2. Ilmoita uskottu objekti
Edustajan nimi Delegoidun instanssin nimi;
3. Luo delegointiobjekti (päätä, mihin menetelmään sitotaan)
delegoitu instanssi name=uusi delegaatin nimi (tietyn luokan metodi)
4. Käytä luotettua kutsumenetelmää
Delegoitu instanssin nimi (parametri)
Varotoimet luottamisen suhteen:1. Delegoinnilla ja menetelmällä tulee olla samat parametrit.
2、Delegaatti voi kutsua useita metodeja, eli delegaatti voi ylläpitää kutsuttavien metodien listaa yhden metodin sijaan, jota kutsutaan multicastiksi (multicast).。
3、Toteuta metodin kasvut ja vähennykset käyttämällä += ja -= operaatioita
Esimerkki:
Kirjoittaminen:
1. Delegate Delegate Name = uusi Delegate (metodin nimi, joka kutsutaan); Järjestyksen nimi (parametri);
2. Delegoi Delegaatin nimi = metodin nimi, joka kutsutaan; Järjestyksen nimi (parametri);
3. Anonyymi menetelmä
delegoi edustajan nimi=valtuutettu(parametri){metodikappale, joka kutsutaan}; Järjestyksen nimi (parametri);
4. Lambda-ilmentymä
Delegointijärjestyksen nimi=((parametri 1,。。 parametri n)=>{metodikappale, joka kutsutaan}); Järjestyksen nimi (parametri);
5. Käytä <T>Toimintoa ja <T>Funcia, ensimmäisellä ei ole palautusarvoa
func< parametri 1, parametri 2, palautusarvo> delegoitujen nimi = ((parametri 1, parametri 2) => {metodin runko palautusarvolla}); Palautusarvo = tilauksen nimi (parametri 1, parametri 2);
Tarrakoodi:
|