Argument funkcji jako wskaźnik do innej funkcji

0

Witam

Jak zrobić aby przekazać do funkcji inną funkcję i wywołać ją w razie potrzeby ?

Posiadam funkcję, która jest dość czasochłonna i chciał bym urozmaicić ją jakimś progressbarem. Chciał bym aby co jakiś czas funkcja wywoływała zewnętrzną funkcję, która mi tego progressbara zaktualizuje. Może są jakieś lepsze metody na to ?

Pozdrawiam

0
void CallFunction(Action func){
    func();
}

void SomeFunction(){
   // do something;
}

void Main(){
    CallFunction(SomeFunction);
}
0

Lepiej użyć zdarzenia. Progress bar (albo raczej metoda go obsługująca) podepnie się pod zdarzenie ProgressChanged albo coś w tym stylu. W argumencie zdarzenia przekażesz stan.

0

Sadzac po poscie najlepszym rozwiazaniem jest uzycie background workera...ktory idealnie nadaje sie do czasochlonnych procesow. A jesli chodzi o funcje przekazywane do procedur to odsylam do delegatow.

1 użytkowników online, w tym zalogowanych: 0, gości: 1