Sobes.tech
Junior — Middle

Обяснете концепцията за делегати в езика C# и тяхната основна цел.

sobes.tech AI

Отговор от AI

Делегатите в C# са типове, които представляват препратки към методи с определена сигнатура и стойност за връщане. Те позволяват съхраняване и извикване на методи като обекти.

Основната цел на делегатите:

  • Позволяват реализиране на обратни извиквания (callbacks)
  • Осигуряват гъвкавост при извикване на методи, например за събития и обработка на асинхронни операции
  • Използват се за реализиране на модел, базиран на събития

Пример за делегат:

// Обявяване на делегат
public delegate void Notify(string message);

class Program
{
    static void Main()
    {
        Notify notifyHandler = ShowMessage;
        notifyHandler("Здравей, делегати!");
    }

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

Тук делегатът Notify може да се отнася към всяка метод, който приема низ и не връща нищо.