Sobes.tech
Junior — Middle

Εξηγήστε την έννοια των delegates στη γλώσσα C# και τον κύριο σκοπό τους.

sobes.tech AI

Απάντηση από AI

Οι delegates στη C# είναι τύποι που αντιπροσωπεύουν αναφορές σε μεθόδους με συγκεκριμένη υπογραφή και τιμή επιστροφής. Επιτρέπουν την αποθήκευση και την κλήση μεθόδων ως αντικείμενα.

Ο κύριος σκοπός των delegates:

  • Επιτρέπουν την υλοποίηση callbacks
  • Παρέχουν ευελιξία κατά την κλήση μεθόδων, π.χ. για γεγονότα και επεξεργασία ασύγχρονων λειτουργιών
  • Χρησιμοποιούνται για την υλοποίηση ενός μοντέλου βασισμένου σε γεγονότα

Παράδειγμα delegate:

// Δήλωση delegate
public delegate void Notify(string message);

class Program
{
    static void Main()
    {
        Notify notifyHandler = ShowMessage;
        notifyHandler("Γειά σου, delegates!");
    }

    static void ShowMessage(string msg)
    {
        Console.WriteLine(msg);
    }
}

Εδώ, το delegate Notify μπορεί να αναφέρεται σε οποιαδήποτε μέθοδο που δέχεται μια συμβολοσειρά και δεν επιστρέφει τίποτα.