Condividi tramite


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

Definizione

Crea una nuova ITimer istanza usando TimeSpan i valori per misurare gli intervalli di tempo.

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

Parametri

callback
TimerCallback

Delegato che rappresenta un metodo da eseguire quando viene attivato il timer. Il metodo deve essere reentrant, perché può essere richiamato simultaneamente su due thread se il timer viene generato di nuovo mentre un callback precedente è ancora gestito.

state
Object

Oggetto da passare all'oggetto callback. Può assumere il valore null.

dueTime
TimeSpan

Quantità di tempo da ritardare prima callback di essere richiamata. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.

period
TimeSpan

Intervallo di tempo tra le chiamate di callback. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.

Restituisce

Nuova istanza di ITimer.

Eccezioni

callback è null.

Il numero di millisecondi nel valore di dueTime o period è negativo e non uguale a Infiniteo è maggiore di Int32.MaxValue.

Commenti

Il delegato specificato dal parametro di callback viene richiamato una volta dopo dueTime l'intervallo di tempo trascorso e successivamente ogni volta che l'intervallo period di tempo scade.

Se dueTime è zero, il callback viene richiamato immediatamente. Se dueTime è -1 millisecondi, non viene richiamato. Il timer è disabilitato, callback ma può essere riattivato chiamando il Change(TimeSpan, TimeSpan) metodo.

Se period è 0 o -1 millisecondi ed dueTime è positivo, viene richiamato una volta; il comportamento periodico del timer è disabilitato, callback ma può essere riabilitato usando il Change(TimeSpan, TimeSpan) metodo .

L'istanza restituita è implicitamente radicata ITimer mentre il timer è ancora pianificato.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) acquisisce l'oggetto e archivia con l'oggetto ExecutionContextITimer da usare richiamando callback ogni volta che viene chiamato. L'acquisizione può essere eliminata con SuppressFlow().

Si applica a