Sobes.tech
Junior — Middle

Magyarázza el a delegátok fogalmát a C# nyelvben és fő céljukat.

sobes.tech MI

Válasz az MI-től

A C#-ban a delegátok olyan típusok, amelyek egy adott szignatúrájú és visszatérési értékű metódusokra mutató hivatkozásokat képviselnek. Lehetővé teszik, hogy metódusokat objektumként tároljunk és hívjunk meg.

A delegátok fő célja:

  • Visszahívások (callbacks) megvalósítása
  • Rugalmasság biztosítása metódushíváskor, például eseményekhez és aszinkron műveletek kezeléséhez
  • Eseményalapú modell megvalósítása

Delegát példa:

// Delegátus deklarálása
public delegate void Notify(string message);

class Program
{
    static void Main()
    {
        Notify notifyHandler = ShowMessage;
        notifyHandler("Helló, delegátok!");
    }

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

Itt a Notify delegátus bármely olyan metódusra hivatkozhat, amely elfogad egy stringet és semmit sem ad vissza.