Junior — Middle
Tudja magyarázni a delegátok fogalmát és szerepüket a programozásban?
sobes.tech MI
Válasz az MI-től
A C#-ban a delegátok olyan típusok, amelyek egy adott szignatúrával és visszatérési típussal rendelkező metódusokra mutató hivatkozásokat képviselnek. Lehetővé teszik, hogy metódusokat paraméterként adjunk át, változókban tároljuk őket, és dinamikusan hívjuk őket.
A delegátok szerepe:
- Visszahívások (callbacks) megvalósítását teszik lehetővé.
- Eseményekhez és eseménykezeléshez használják őket.
- Rugalmasságot és bővíthetőséget biztosítanak a kódban.
Delegát példája:
// Delegátus deklarálása
public delegate int Operation(int x, int y);
class Program
{
static int Add(int a, int b) => a + b;
static int Multiply(int a, int b) => a * b;
static void Main()
{
Operation op = Add;
Console.WriteLine(op(3, 4)); // 7
op = Multiply;
Console.WriteLine(op(3, 4)); // 12
}
}
Így a delegátok lehetővé teszik metódusok dinamikus kiválasztását és hívását.