TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
Parámetros
- callback
- TimerCallback
Delegado que representa un método que se va a ejecutar cuando se desencadena el temporizador. El método especificado para la devolución de llamada debe ser reentrant, ya que se puede invocar simultáneamente en dos subprocesos si el temporizador se activa de nuevo antes o mientras se controla una devolución de llamada anterior.
- state
- Object
Objeto que se va a pasar al callback
. Esto puede ser null.
- dueTime
- TimeSpan
Cantidad de tiempo que se va a retrasar antes de invocar callback
. Especifique InfiniteTimeSpan para evitar que se inicie el temporizador. Especifique Zero para iniciar el temporizador inmediatamente.
- period
- TimeSpan
Intervalo de tiempo entre invocaciones de callback
. Especifique InfiniteTimeSpan para deshabilitar la señalización periódica.
Devoluciones
Instancia de ITimer recién creada.
Excepciones
callback
es null.
El número de milisegundos en el valor de dueTime
o period
es negativo y no es igual a Infiniteo es mayor que MaxValue.
Comentarios
El delegado especificado por el parámetro de devolución de llamada se invoca una vez transcurrido dueTime
y, a continuación, cada vez que transcurre el intervalo de tiempo period
.
Si dueTime
es cero, la devolución de llamada se invoca inmediatamente. Si dueTime
es -1 milisegundos, no se invoca callback
; el temporizador está deshabilitado, pero se puede volver a habilitar llamando al método Change(TimeSpan, TimeSpan).
Si period
es de 0 o -1 milisegundos y dueTime
es positivo, se invoca callback
una vez; el comportamiento periódico del temporizador está deshabilitado, pero se puede volver a habilitar mediante el método Change(TimeSpan, TimeSpan).
La instancia de ITimer de devolución se rootará implícitamente mientras el temporizador todavía está programado.
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) captura el ExecutionContext y los almacena con el ITimer para su uso al invocar callback
cada vez que se llama. Esa captura se puede suprimir con SuppressFlow().