Feedback

C# - Timeout Method

Veröffentlicht von am 17.09.2012
(0 Bewertungen)
Eine Methode zum aufrufen eines Befehls mit Wartezeit in Millisekunden
GFU-Schulungen  [Anzeige]

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

private void runTimeOutAction<T>(double msTimeOut, Action act, ref T variableSet, T escapeValue)
{
        using (var bgWorker = new System.ComponentModel.BackgroundWorker())
        {
            // Umsetzung der Ausführung
            bgWorker.DoWork += (s, ev) => act();


            DateTime start = DateTime.Now;
            bgWorker.RunWorkerAsync();

            while ((DateTime.Now - start).TotalMilliseconds < msTimeOut)
            {
                // Zeitintervall des Wartens (25mal pro Sekunde)
                System.Threading.Thread.Sleep(40);
            }

            // Eine Variable die einen Abschließenden Wert haben soll
            variableSet = escapeValue;
        }
}

/*
// Aufruf wie in diesem Beispiel:
int hr = 1;
runTimeOutAction(500, () => Pause(), ref hr, 0);
*/
Abgelegt unter BackgroundWorker, Timeout, Method, Methode.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!