Freigeben über


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 Aufruf callback verzögert werden soll. Geben Sie InfiniteTimeSpan an, um zu verhindern, dass der Timer gestartet wird. Geben Sie Zero an, um den Timer sofort zu starten.

period
TimeSpan

Das Zeitintervall zwischen Aufrufen von callback. Geben Sie InfiniteTimeSpan an, 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 dueTime oder period ist negativ und nicht gleich Infinite, oder größer als MaxValue.

Hinweise

Der durch den Rückrufparameter angegebene Delegat wird einmal aufgerufen, nachdem dueTime verstrichen ist, 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, wird callback nicht aufgerufen; Der Timer ist deaktiviert, kann jedoch durch Aufrufen der Change(TimeSpan, TimeSpan)-Methode erneut aktiviert werden.

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

Die Rückgabe ITimer Instanz wird implizit gerootet, während der Timer noch geplant ist.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) erfasst die ExecutionContext und speichert diese bei jedem Aufruf callback mit dem ITimer. Diese Erfassung kann mit SuppressFlow()unterdrückt werden.

Gilt für: