Sobes.tech
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;