Junior — Middle
Μίλησέ μου για τους διάφορους τύπους αντιπροσώπων που γνωρίζεις
sobes.tech AI
Απάντηση από AI
Στη C#, οι delegates είναι τύποι που αντιπροσωπεύουν αναφορές σε μεθόδους. Οι κύριοι τύποι delegates:
-
Απλοί delegates — ορίζονται ρητά, μπορούν να αναφέρονται σε μεθόδους με συγκεκριμένη υπογραφή.
-
Multicast delegates — μπορούν να περιέχουν μια λίστα μεθόδων που καλούνται διαδοχικά.
-
Action — ενσωματωμένος delegate χωρίς τιμή επιστροφής, με παραμέτρους από 0 έως 16.
-
Func — ενσωματωμένος delegate με τιμή επιστροφής, οι παράμετροι και ο τύπος αποτελέσματος ορίζονται.
-
Predicate — delegate που δέχεται μία παράμετρο και επιστρέφει bool.
Παράδειγμα απλού delegate:
public delegate void Notify(string message);
Notify notify = message => Console.WriteLine(message);
notify("Hello");
Ο multicast delegate επιτρέπει την εγγραφή πολλών μεθόδων:
notify += AnotherMethod;