Junior — Middle
Εξηγήστε τον σκοπό και τη λειτουργία των delegates στο πλαίσιο του προγραμματισμού σε C#.
sobes.tech AI
Απάντηση από AI
Οι delegates στη C# είναι τύποι που αντιπροσωπεύουν αναφορές σε μεθόδους με μια συγκεκριμένη υπογραφή. Επιτρέπουν την κλήση μεθόδων έμμεσα, την περνούν ως παραμέτρους και υλοποιούν callbacks.
Βασικά σημεία:
- Ένας delegate ορίζει την υπογραφή μιας μεθόδου (τύποι παραμέτρων και τιμή επιστροφής).
- Μπορεί να ανατεθεί σε οποιαδήποτε μέθοδος με συμβατή υπογραφή.
- Επιτρέπουν την υλοποίηση γεγονότων και το μοτίβο παρατηρητή.
Παράδειγμα:
public delegate void Notify(string message);
public class Process
{
public Notify OnCompleted;
public void Start()
{
// ... εργασία
OnCompleted?.Invoke("Η διαδικασία ολοκληρώθηκε");
}
}
Εδώ, ο delegate Notify χρησιμοποιείται για την ειδοποίηση σχετικά με την ολοκλήρωση της διαδικασίας.