Sobes.tech
Junior

Milliseid delegaate tead?

sobes.tech AI

Vastus AI-lt

Peamised delegeeritüübid .NET-is:

  • System.Delegate (abstraktne alusklass) — alus kõigile delegeeridele.
  • System.MulticastDelegate (pärineb Delegate-ist) — võimaldab delegeeril sisaldada mitmeid meetodeid.
  • Üldised delegeerid .NET Framework 3.5+:
    • Action — delegeer ilma tagastusarvuta (void).
    • Action<T> ... Action<T1, T2, T3, T4> — ühe kuni nelja parameetriga ja ilma tagastusarvuta delegeerid.
    • Func<TResult> — delegeer, mille tagastusarv on tüüpi TResult ja millel pole parameetreid.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — ühe kuni nelja parameetriga ja tagastusarvuga delegeerid.
    • Predicate<T> — spetsiaalne Func<T, bool> tüüp, mis esindab meetodit, mis määratleb kriteeriumide kogumi ja otsustab, kas antud objekt vastab nendele kriteeriumidele.

Näide Action ja Func kasutamisest:

// Action delegeer: võtab vastu int, ei tagasta midagi
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Kuvab 10

// Func delegeer: võtab vastu kaks int, tagastab int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // tulemus = 8

Delegeerid kasutatakse ka sündmustes (event).