Sobes.tech
Junior

Kādus deleģentus pazīsti?

sobes.tech AI

Atbilde no AI

Galvenie delegātu tipi .NET:

  • System.Delegate (abstrakta pamatklase) — pamats visiem delegātiem.
  • System.MulticastDelegate (manto no Delegate) — ļauj delegātam saturēt vairākas metodes.
  • Ģeneriskie delegāti .NET Framework 3.5+:
    • Action — delegāts bez atgriešanas vērtības (void).
    • Action<T> ... Action<T1, T2, T3, T4> — delegāti ar vienu līdz četriem parametriem un bez atgriešanas vērtības.
    • Func<TResult> — delegāts ar atgriešanas vērtību no TResult tipa un bez parametriem.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — delegāti ar vienu līdz četriem parametriem un ar atgriešanas vērtību no TResult tipa.
    • Predicate<T> — īpašs Func<T, bool> tips, kas pārstāv metodi, kas definē kritēriju kopumu un nosaka, vai dots objekts atbilst šiem kritērijiem.

Piemērs, kā izmantot Action un Func:

// Action delegāts: pieņem int, neko neatgriež
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Izdrukās 10

// Func delegāts: pieņem divus int, atgriež int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // rezultāts = 8

Delegāti tiek izmantoti arī notikumos (event).