Sobes.tech
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.