Adj példát a delegátok használatára C#-ban.
sobes.tech MI
Válasz az MI-től
A delegate típusbiztonságos mutató módszerekre. Lehetővé teszi, hogy módszereket argumentumként adjunk át, változóknak rendeljük őket, és ezeken keresztül hívjuk meg őket. A delegate-ek széles körben használatosak események, visszahívások és aszinkron programozás létrehozására.
Delegát használatának példája:
-
Delegát deklarálása: Meghatározzuk a metódus szignatúráját, amelyre a delegate mutathat.
public delegate int MyDelegate(int x, int y); -
Metódusok definiálása: Olyan metódusokat hozunk létre, amelyek megfelelnek a delegate szignatúrájának.
public class Calculator { public int Add(int a, int b) { return a + b; } public int Subtract(int a, int b) { return a - b; } } -
Delegate használata: Létrehozunk egy delegate példányt, és hozzárendeljük egy metódushoz. Ezután a delegate segítségével hívjuk meg ezeket a metódusokat.
public class Program { public static void Main(string[] args) { Calculator calc = new Calculator(); // Delegate példány létrehozása és hozzárendelése az Add metódushoz MyDelegate del = new MyDelegate(calc.Add); // Az Add metódus hívása delegate-en keresztül int result1 = del(10, 5); // result1 = 15 Console.WriteLine($"Összeg eredménye: {result1}"); // Delegate újra hozzárendelése a Subtract metódushoz del = calc.Subtract; // A Subtract metódus hívása delegate-en keresztül int result2 = del(10, 5); // result2 = 5 Console.WriteLine($"Kivonás eredménye: {result2}"); } }
Ebben a példában a MyDelegate bármely olyan metódusra mutathat, amely két egész szám argumentumot fogad (int x, int y) és egész számot ad vissza (int). Két delegate példányt hozunk létre (del), hozzárendeljük az Add és Subtract metódusokat, majd ezeket a delegate-eket használjuk a metódusok meghívására.