Piszę wrapper wokół biblioteki 3rd party, i ma metodę skanowania danych, którymi zarządza. Metoda pobiera metodę wywołania zwrotnego, którą wywołuje dla każdego elementu w znalezionych danych.Możliwość przełączania wywołań zwrotnych na IEnumerable
np. Metoda ta jest w istocie: void Scan(Action<object> callback);
Chcę owinąć go i narazić metoda jak IEnumerable<object> Scan();
Czy jest to możliwe bez uciekania się do osobnego wątku zrobić rzeczywiste skanowanie i bufor?
Czy możesz określić dokładny przepływ w bibliotece innej firmy - brzmi to tak, jakby już się pojawił w wielu wątkach. Pamiętaj też, że możesz mieć delegatów multiemisji. Również, w jaki sposób określasz, że skanowanie zostało zakończone? – weismat
Szczerze mówiąc, nie widzę w tym żadnej wartości. Jeśli chcesz zrobić foreach (object obj w scannable.Scan()) {/ * zrób coś z obj * /} ', to jest to naprawdę lepsze niż' scannable.Scan (obj => {/ * zrób coś z obj * /}); '? – Flynn1179
@weismat: nie, nie odradza się wątków, w zasadzie iteruje wewnętrznie do magazynu danych i wywołuje wywołanie zwrotne dla każdego rekordu. – Gareth