Junior — Middle
Poți să numești principalele tipuri de delegați utilizați în limbajul de programare?
sobes.tech AI
Răspuns de la AI
În limbajul C#, delegații sunt tipuri care reprezintă referințe la metode cu o semnătură specifică. Tipurile principale de delegați:
- Delegați de tip single-cast (Single-cast delegates) — fac referire la o singură metodă.
- Delegați multicast (Multicast delegates) — pot conține o listă de metode care sunt apelate secvențial.
De asemenea, există delegați generici standard:
Action— un delegat care reprezintă o metodă fără valoare de retur și cu 0 sau mai mulți parametri.Func<TResult>șiFunc<T1, TResult>și alții — delegați care returnează o valoare și pot accepta parametri.Predicate<T>— un delegat care acceptă un parametru și returnează unbool.
Exemplu de declarație și utilizare a unui delegat:
public delegate int Operation(int x, int y);
Operation add = (a, b) => a + b;
int result = add(3, 4); // 7
Delegat multicast:
Operation op = add;
op += (a, b) => a * b;
foreach (Operation del in op.GetInvocationList()) {
Console.WriteLine(del(3, 4));
}
Prin urmare, principalele tipuri de delegați sunt: single-cast, multicast, precum și delegați generici standard Action, Func și Predicate.