Kezdőoldal » Számítástechnika » Programozás » Mi a callback függvény/metódus...

Mi a callback függvény/metódus programozásban?

Figyelt kérdés

2019. nov. 30. 20:36
 1/3 anonim ***** válasza:
45%

A lényeg az, hogy van egy metódusod, ami paraméterként megkap egy másik metódust (ez lesz a callback), és ezt meg fogja hívni.


C# példa, mondjuk a LINQ Where extension method-ja:

public IEnumerable<T> Where<T>(this IEnumerable<T> sequence, Func<T, bool> condition) {

.. foreach (T item in sequence)

.. .. if (condition(item))

.. .. .. yield return item;

}


Jelen esetben a condition lesz a callback metódus. Bónusz tudnivaló: a Func<T, bool> egy olyan metódust jelent, amelynek van egy paramétere, amely T típusú, és bool az eredménye.


És hogy ezt hogyan lehet használni:

IEnumerable<int> numbersCanBeDividedBy5 = Enumerable.Range(0, 100).Where(

.. x => x % 5 == 0 //callback

);


Vagy másképp fogalmazva:

public bool CanBeDividedBy5(int num) {

.. return num % 5 == 0;

}


IEnumerable<int> numbersCanBeDividedBy5 = Enumerable.Range(0, 100).Where(

.. CanBeDividedBy5 //callback

);

2019. nov. 30. 21:12
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Első hozzászóló: Ismerem a duckduckgo.com és google szemetet is.

Második hozzászóló: Köszönöm szépen.

2019. nov. 30. 22:31
 3/3 anonim ***** válasza:
Párhuzamos feldolgozás világában, (pl http kéréseknél jellemzően nem) sok esetben nem várja meg hogy a végrehajtás befejeződjön. E helyett egy callback függvényt adunk meg. Amikor az aszinkron folyamat befejeződik, meghívja az eredménnyel ezt a függvényt, hogy az eredményt fel tudd dolgozni.
2019. dec. 1. 00:37
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!