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.