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 може да се отнася към всяка метод, който приема низ и не връща нищо.