Partage via


TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Méthode

Définition

Crée une instance ITimer à l’aide de valeurs TimeSpan pour mesurer les intervalles de temps.

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

Paramètres

callback
TimerCallback

Délégué représentant une méthode à exécuter lorsque le minuteur se déclenche. La méthode spécifiée pour le rappel doit être réentrante, car elle peut être appelée simultanément sur deux threads si le minuteur se déclenche à nouveau avant ou pendant qu’un rappel précédent est toujours géré.

state
Object

Objet à passer à l'callback. Il peut s’agir de null.

dueTime
TimeSpan

Délai avant l’appel de callback. Spécifiez InfiniteTimeSpan pour empêcher le démarrage du minuteur. Spécifiez Zero pour démarrer immédiatement le minuteur.

period
TimeSpan

Intervalle de temps entre les appels de callback. Spécifiez InfiniteTimeSpan pour désactiver la signalisation périodique.

Retours

Instance ITimer nouvellement créée.

Exceptions

callback a la valeur Null.

Le nombre de millisecondes dans la valeur de dueTime ou de period est négatif et non égal à Infinite, ou est supérieur à MaxValue.

Remarques

Le délégué spécifié par le paramètre de rappel est appelé une fois après dueTime écoulé, puis chaque fois que l’intervalle de temps period est écoulé.

Si dueTime est égal à zéro, le rappel est appelé immédiatement. Si dueTime est -1 millisecondes, callback n’est pas appelé ; le minuteur est désactivé, mais peut être réactivé en appelant la méthode Change(TimeSpan, TimeSpan).

Si period est de 0 ou de -1 millisecondes et que dueTime est positif, callback est appelé une seule fois ; le comportement périodique du minuteur est désactivé, mais peut être réactivé à l’aide de la méthode Change(TimeSpan, TimeSpan).

L’instance de retour ITimer sera implicitement enracinée pendant que le minuteur est toujours planifié.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) capture le ExecutionContext et stocke celui-ci avec le ITimer à utiliser pour appeler callback chaque fois qu’il est appelé. Cette capture peut être supprimée avec SuppressFlow().

S’applique à