Sobes.tech
Junior — Middle

Explicați conceptul de delegați în limbajul C# și scopul lor principal.

sobes.tech AI

Răspuns de la AI

Delegatii în C# sunt tipuri care reprezintă referințe la metode cu o semnătură și o valoare de returnare specifice. Ele permit stocarea și apelarea metodelor ca obiecte.

Scopul principal al delegaților:

  • Permite implementarea callback-urilor
  • Oferă flexibilitate în apelarea metodelor, de exemplu, pentru evenimente și gestionarea operațiilor asincrone
  • Sunt folosiți pentru implementarea unui model bazat pe evenimente

Exemplu de delegat:

// Declararea delegatului
public delegate void Notify(string message);

class Program
{
    static void Main()
    {
        Notify notifyHandler = ShowMessage;
        notifyHandler("Salut, delegați!");
    }

    static void ShowMessage(string msg)
    {
        Console.WriteLine(msg);
    }
}

Aici, delegatul Notify poate face referire la orice metodă care acceptă un șir de caractere și nu returnează nimic.