Sobes.tech
Junior

Ποιοι αντιπρόσωποι γνωρίζεις;

sobes.tech AI

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

Βασικοί τύποι delegates στο .NET:

  • System.Delegate (αφηρημένη βασική κλάση) — η βάση για όλους τους delegates.
  • System.MulticastDelegate (κληρονομεί από Delegate) — επιτρέπει σε ένα delegate να περιέχει πολλές μεθόδους.
  • Γενικοί delegates στο .NET Framework 3.5+:
    • Action — delegate χωρίς τιμή επιστροφής (void).
    • Action<T> ... Action<T1, T2, T3, T4> — delegates με ένα έως τέσσερα παραμέτρους και χωρίς τιμή επιστροφής.
    • Func<TResult> — delegate με τιμή επιστροφής τύπου TResult και χωρίς παραμέτρους.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — delegates με ένα έως τέσσερα παραμέτρους και τιμή επιστροφής τύπου TResult.
    • Predicate<T> — ειδικός τύπος Func<T, bool>, που αντιπροσωπεύει μια μέθοδο που ορίζει ένα σύνολο κριτηρίων και καθορίζει αν ένα δοσμένο αντικείμενο πληροί αυτά τα κριτήρια.

Παράδειγμα χρήσης Action και Func:

// Delegate Action: δέχεται int, δεν επιστρέφει τίποτα
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Θα εμφανίσει 10

// Delegate Func: δέχεται δύο int, επιστρέφει int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // αποτέλεσμα = 8

Οι delegates χρησιμοποιούνται επίσης σε γεγονότα (event).