1. Mitä on luottamus?
Delegaatti on viitetyyppi, joka on hallittu versio funktioosoittimesta. C#:ssa delegaatit ovat tyyppi, joka tallentaa viittaukset funktioina. Delegaatit voivat viitata sekä instansseihin että staattisiin metodeihin, kun taas funktioosoittimet voivat viitata vain staattisiin metodeihin. Delegaatin ilmoitus on hyvin samankaltainen kuin funktio, toisin kuin funktio siinä, että delegaatilla ei ole funktiokehoa ja se vaatii valtuuttajan avainsanan. Delegoitu ilmoitus määrittelee funktion allekirjoituksen, joka sisältää parametrilistan ja palautustyypin. Kun delegaatti on määritelty, voidaan julistaa delegaattityyppinen muuttuja, joka voidaan alustaa viittauksena funktiolla, jolla on sama allekirjoitus kuin delegaatilla, ja jota voidaan kutsua delegaattimuuttujan avulla. (ps: Itse asiassa hän uskoi hänelle luokan, ja hänen tarkoituksensa oli välittää metodi parametrina muille metodeille!) )
Delegaatit, vaikka ovat hyvin samankaltaisia kuin funktioosoittimet, eivät ole osoittimia. Monet ihmiset laittavat . .NET:n delegaatti ymmärretään turvallisena funktioosoittimena, mikä on kaukaa haettua, ja delegaattitoteutuksen funktioosoitin on hyvin samankaltainen siinä, että se tarjoaa ohjelman takaisinkutsumekanismin.
2. Neljä luovutusvaihetta: 1. Määritä luovutuksen tyyppi
2. On olemassa metodi, joka sisältää suoritettavan koodin
3. Luo delegoitu instanssi
4. Kutsu delegaattiinstanssi
3. Esimerkkejä:
|