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).