Junior — Middle
Kas saaks nimetada peamisi delegaadi tüüpe, mida programmeerimiskeeles kasutatakse?
sobes.tech AI
Vastus AI-lt
C# keeles on delegaadid tüübid, mis esindavad viiteid meetoditele kindla signatuuriga. Peamised delegaadi tüübid:
- Ühekohalised delegaadid (Single-cast delegates) — viitavad ühele meetodile.
- Multikast delegaadid (Multicast delegates) — võivad sisaldada nimekirja meetoditest, mida kutsutakse järjestikku.
Lisaks on olemas standardseid ülddelegaadid:
Action— delegaat, mis esindab meetodit ilma tagastusarvuta ja 0 või rohkemate parameetritega.Func<TResult>jaFunc<T1, TResult>ning teised — delegaadid, mis tagastavad väärtuse ja võivad võtta parameetreid.Predicate<T>— delegaat, mis võtab ühe parameetri ja tagastabbool.
Näide delegaadi deklaratsioonist ja kasutamisest:
public delegate int Operation(int x, int y);
Operation add = (a, b) => a + b;
int tulemus = add(3, 4); // 7
Multikast delegaat:
Operation op = add;
op += (a, b) => a * b;
foreach (Operation del in op.GetInvocationList()) {
Console.WriteLine(del(3, 4));
}
Seega on peamised delegaadi tüübid: ühe sihtmärgiga, mitme sihtmärgiga ning samuti standardsed ülddelegaadid Action, Func ja Predicate.