Async Timeout => "Funktion" mit an Methode übergeben


baeri

Erfahrenes Mitglied
#1
Hallo,

wie kann ich einer Methode einen >Befehl< oder eine >Funktion< mit übergeben?

im Konkreten Fall will ich einen asyncronen Timeout auslösen und dann "irgendetwas" machen... Dieses Irgendetwas möchte ich aber nicht im "AsyncTimeout" definieren sondern mit Übergeben
=> hier Hardcodiert: MessageBox.Show("async Timeout");
Code:
        public static Task WaitTheTime(int time)
        {
            return Task.Run(() =>
            {
                Thread.Sleep(time);
            });
        }

        public async void AsyncTimout(int time)
        {
            await WaitTheTime(time);
            MessageBox.Show("async Timeout");
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            AsyncTimout(5000);
        }
gibt es die Möglichkeit meinen "Befehl" mit zu übergeben?
AsyncTimout(5000, MessageBox.Show("async Timeout"));

=> das kommt daher, weil ich natürlich nicht immer eine MessageBox anzeigen will, sondern mal ne Datei löschen oder sonst irgendwas tun...

Vielen Dank