Junior — Middle
Можеш ли да наведеш главне типове делегата који се користе у програмском језику?
sobes.tech АИ
Одговор од АИ
U jeziku C#, delegati su tipovi koji predstavljaju reference na metode sa određenom potpisom. Glavni tipovi delegata:
- Single-cast delegati — referenciraju na jednu metodu.
- Multicast delegati — mogu sadržavati listu metoda koje se pozivaju redom.
Pored toga, postoje standardni generički delegati:
Action— delegat koji predstavlja metodu bez povratne vrednosti i sa 0 ili više parametara.Func<TResult>iFunc<T1, TResult>i slično — delegati koji vraćaju vrednost i mogu primati parametre.Predicate<T>— delegat koji prima jedan parametar i vraćabool.
Primer deklaracije i korišćenja delegata:
public delegate int Operation(int x, int y);
Operation add = (a, b) => a + b;
int result = add(3, 4); // 7
Multicast delegat:
Operation op = add;
op += (a, b) => a * b;
foreach (Operation del in op.GetInvocationList()) {
Console.WriteLine(del(3, 4));
}
Dakle, glavni tipovi delegata su: single-cast, multicast, kao i standardni generički delegati Action, Func i Predicate.