Sobes.tech
Junior — Middle

Opowiedz mi o różnych typach delegatów, które znasz

sobes.tech AI

Odpowiedź od AI

W C#, delegaty to typy, które reprezentują odwołania do metod. Główne typy delegatów:

  • Proste delegaty — definiowane jawnie, mogą odwoływać się do metod o określonej sygnaturze.

  • Multicastowe delegaty — mogą zawierać listę metod wywoływanych kolejno.

  • Action — wbudowany delegat bez wartości zwrotnej, z parametrami od 0 do 16.

  • Func — wbudowany delegat z wartością zwrotną, parametry i typ wyniku są określane.

  • Predicate — delegat przyjmujący jeden parametr i zwracający bool.

Przykład prostego delegata:

public delegate void Notify(string message);

Notify notify = message => Console.WriteLine(message);
notify("Hello");

Multicastowy delegat pozwala na subskrypcję wielu metod:

notify += AnotherMethod;