TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Methode

Definition

Erstellt eine neue ITimer Instanz mit TimeSpan Werten zum Messen von Zeitintervallen.

public:
 virtual System::Threading::ITimer ^ CreateTimer(System::Threading::TimerCallback ^ callback, System::Object ^ state, TimeSpan dueTime, TimeSpan period);
public virtual System.Threading.ITimer CreateTimer(System.Threading.TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period);
abstract member CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
override this.CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
Public Overridable Function CreateTimer (callback As TimerCallback, state As Object, dueTime As TimeSpan, period As TimeSpan) As ITimer

Parameter

callback
TimerCallback

Ein Delegat, der eine Methode darstellt, die ausgeführt werden soll, wenn der Timer ausgelöst wird. Die für den Rückruf angegebene Methode sollte erneut ausgeführt werden, da sie möglicherweise gleichzeitig in zwei Threads aufgerufen werden kann, wenn der Timer erneut ausgelöst wird, bevor oder während ein vorheriger Rückruf noch behandelt wird.

state
Object

Ein Objekt, das an die callbackÜbergeben werden soll. Dies kann null sein.

dueTime
TimeSpan

Die Zeitspanne, die vor dem callback Aufruf verzögert werden soll. Geben Sie an InfiniteTimeSpan , um zu verhindern, dass der Timer gestartet wird. Geben Sie an Zero , dass der Timer sofort gestartet werden soll.

period
TimeSpan

Das Zeitintervall zwischen Aufrufen von callback. Geben Sie an InfiniteTimeSpan , um die regelmäßige Signalisierung zu deaktivieren.

Gibt zurück

Die neu erstellte ITimer Instanz.

Ausnahmen

callback ist NULL.

Die Anzahl der Millisekunden im Wert von dueTime oder period ist negativ und nicht gleich Infinite, oder größer als MaxValue.

Hinweise

Der durch den Rückrufparameter angegebene Delegat wird einmal nach dueTime Ablauf aufgerufen, und danach jedes Mal, wenn das period Zeitintervall verstrichen ist.

Wenn dueTime null ist, wird der Rückruf sofort aufgerufen. Wenn dueTime -1 Millisekunden ist, callback wird nicht aufgerufen; der Timer ist deaktiviert, kann aber durch Aufrufen der Change(TimeSpan, TimeSpan) Methode erneut aktiviert werden.

Wenn period 0 oder -1 Millisekunden groß ist und dueTime positiv ist, callback wird einmal aufgerufen. Das regelmäßige Verhalten des Timers ist deaktiviert, kann jedoch mithilfe der Change(TimeSpan, TimeSpan) Methode erneut aktiviert werden.

Die Rückgabeinstanz ITimer wird implizit gewurzelt, während der Timer noch geplant ist.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan)erfasst und speichert dies ExecutionContext bei jedem Aufruf, callback wenn er aufgerufen wird, mit der für die ITimer Verwendung verwendet wird. Diese Erfassung kann mit SuppressFlow()unterdrückt werden.

Gilt für: