Είναι προμήθεια; Ένας πληρεξούσιος είναι ένα αντικείμενο ασφαλές για τον τύπο που οδηγεί σε μια άλλη μέθοδο (ή μεθόδους) στο πρόγραμμα που θα κληθεί αργότερα. Με απλούς όρους, ένας εκπρόσωπος είναι ένα αντικείμενο που μπορεί να αναφέρεται σε μια μέθοδο και όταν δημιουργείται ένας εκπρόσωπος, δημιουργεί ένα αντικείμενο που αναφέρεται στη μέθοδο και, στη συνέχεια, η μέθοδος μπορεί να κληθεί, δηλαδή ο εκπρόσωπος μπορεί να καλέσει τη μέθοδο στην οποία αναφέρεται.
Πώς μπορώ να χρησιμοποιήσω την ανάθεση; 1. Καθορίστε το είδος της ανάθεσης
[Τροποποιητής πρόσβασης]Ο εκπρόσωπος επιστρέφει τον τύπο Όνομα αντιπροσώπου (παράμετρος).
2. Δηλώστε το αντικείμενο που σας έχει ανατεθεί
Όνομα πληρεξουσίου Το όνομα της αντιπροσωπείας που έχει ανατεθεί.
3. Δημιουργήστε ένα αντικείμενο ανάθεσης (καθορίστε σε ποια μέθοδο θα συνδεθείτε)
delegate instance name=νέο όνομα αντιπροσώπου (μέθοδος μιας συγκεκριμένης κλάσης)
4. Χρησιμοποιήστε τη μέθοδο ανάθεσης κλήσης
Όνομα παρουσίας με ανάθεση (παράμετρος)
Προφυλάξεις κατά την ανάθεση:1. Η ανάθεση και η μέθοδος πρέπει να έχουν τις ίδιες παραμέτρους.
2、Ένας εκπρόσωπος μπορεί να καλέσει πολλές μεθόδους, δηλαδή ένας εκπρόσωπος μπορεί να διατηρήσει μια λίστα μεθόδων με δυνατότητα κλήσης αντί για μία μόνο μέθοδο, γνωστή ως multicast (multicast)。
3、Η εφαρμογή της μεθόδου αυξάνεται και μειώνεται χρησιμοποιώντας λειτουργίες += και -=
Παράδειγμα:
Γράψιμο:
1. Όνομα εκπροσώπου αντιπροσώπου = νέος εκπρόσωπος (όνομα μεθόδου που θα καλείται). Όνομα παραγγελίας (παράμετρος);
2. Εκπρόσωπος Όνομα αντιπροσώπου = όνομα μεθόδου που θα κληθεί. Όνομα παραγγελίας (παράμετρος);
3. Ανώνυμη μέθοδος
delegate delegate name=delegate(parameter){method body that will be called}; Όνομα παραγγελίας (παράμετρος);
4. Έκφραση λάμδα
Όνομα εντολής πληρεξουσίου=((Παράμετρος 1,。。 παράμετρος n)=>{σώμα μεθόδου που θα κληθεί}); Όνομα παραγγελίας (παράμετρος);
5. Χρησιμοποιήστε το Action <T>και το Func<T>, το πρώτο δεν έχει τιμή επιστροφής
Func< Παράμετρος 1, Παράμετρος 2, Τιμή επιστροφής> Όνομα αντιπροσώπου = ((Παράμετρος 1, Παράμετρος 2) => {Σώμα μεθόδου με επιστρεφόμενη τιμή }); Επιστρεφόμενη τιμή = όνομα παραγγελίας (παράμετρος 1, παράμετρος 2).
Κωδικός αυτοκόλλητου:
|