Dispatcher.Invoke Método
Definición
Ejecuta sincrónicamente el delegado especificado en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate synchronously on the thread the Dispatcher is associated with.
Sobrecargas
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[]) |
Ejecuta el delegado especificado en la prioridad indicada con los argumentos especificados sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with. |
Invoke(DispatcherPriority, TimeSpan, Delegate, Object) |
Ejecuta el delegado especificado en la prioridad indicada con el argumento especificado sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with. |
Invoke(DispatcherPriority, Delegate, Object, Object[]) |
Ejecuta el delegado especificado en la prioridad indicada con los argumentos especificados sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with. |
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan) |
Ejecuta sincrónicamente el Action especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with. |
Invoke(DispatcherPriority, TimeSpan, Delegate) |
Ejecuta sincrónicamente el delegado especificado en la prioridad indicada y con el valor de tiempo de espera especificado en el subproceso que creó Dispatcher.Executes the specified delegate synchronously at the specified priority and with the specified time-out value on the thread the Dispatcher was created. |
Invoke(DispatcherPriority, Delegate, Object) |
Ejecuta el delegado especificado en la prioridad indicada con el argumento especificado sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with. |
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[]) |
Ejecuta de forma sincrónica el delegado especificado dentro del intervalo de tiempo designado y con la prioridad y los argumentos especificados en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with. |
Invoke(Delegate, TimeSpan, Object[]) |
Ejecuta de forma sincrónica el delegado especificado dentro del intervalo de tiempo designado y con la prioridad y los argumentos especificados en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with. |
Invoke(Action, DispatcherPriority, CancellationToken) |
Ejecuta sincrónicamente el Action especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with. |
Invoke(DispatcherPriority, Delegate) |
Ejecuta sincrónicamente el delegado especificado en la prioridad indicada en el subproceso al que Dispatcher está asociado el objeto.Executes the specified delegate synchronously at the specified priority on the thread that the Dispatcher is associated with. |
Invoke(Delegate, Object[]) |
Ejecuta de forma sincrónica el delegado especificado con los argumentos especificados en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate with the specified arguments synchronously on the thread the Dispatcher is associated with. |
Invoke(Action, DispatcherPriority) |
Ejecuta sincrónicamente el Action especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with. |
Invoke(Action) |
Ejecuta sincrónicamente el Action especificado en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously on the thread the Dispatcher is associated with. |
Invoke(Delegate, DispatcherPriority, Object[]) |
Ejecuta el delegado especificado en la prioridad indicada con los argumentos especificados sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with. |
Invoke<TResult>(Func<TResult>) |
Ejecuta sincrónicamente el Func<TResult> especificado en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously on the thread the Dispatcher is associated with. |
Invoke<TResult>(Func<TResult>, DispatcherPriority) |
Ejecuta sincrónicamente el Func<TResult> especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken) |
Ejecuta sincrónicamente el Func<TResult> especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan) |
Ejecuta sincrónicamente el Func<TResult> especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with. |
Ejemplos
En el ejemplo siguiente se coloca un delegado en Dispatcher en Normal mediante Invoke .The following example places a delegate onto a Dispatcher at Normal using Invoke.
// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
// Place delegate on the Dispatcher.
this.Dispatcher.Invoke(DispatcherPriority.Normal,
new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
' Place delegate on the Dispatcher.
Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])
Ejecuta el delegado especificado en la prioridad indicada con los argumentos especificados sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object, ParamArray args As Object()) As Object
Parámetros
- priority
- DispatcherPriority
Prioridad, relativa a las demás operaciones pendientes en la Dispatcher cola de eventos, a la que se invoca el método especificado.The priority, relative to the other pending operations in the Dispatcher event queue, with which the specified method is invoked.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Una vez iniciada la operación, se completará antes de que se devuelva este método.Once the operation has started, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
- method
- Delegate
Delegado de un método que toma varios argumentos y se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.
- arg
- Object
Objeto que se va a pasar como un argumento al método especificado.An object to pass as an argument to the specified method.
- args
- Object[]
Matriz de objetos cuyos valores se pasan como argumentos al método especificado.An array of objects to pass as arguments to the specified method.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
- Atributos
Excepciones
priority
no es un DispatcherPriority válido.priority
is not a valid DispatcherPriority.
method
es null
.method
is null
.
timeout
es un número negativo distinto de-1 y este método se invocó a través de subprocesos.timeout
is a negative number other than -1, and this method was invoked across threads.
Comentarios
arg
puede ser null
si no se necesita un argumento.arg
can be null
if an argument is not needed.
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(DispatcherPriority, TimeSpan, Delegate, Object)
Ejecuta el delegado especificado en la prioridad indicada con el argumento especificado sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object) As Object
Parámetros
- priority
- DispatcherPriority
Prioridad, relativa a las demás operaciones pendientes en la Dispatcher cola de eventos, a la que se invoca el método especificado.The priority, relative to the other pending operations in the Dispatcher event queue, with which the specified method is invoked.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Una vez iniciada la operación, se completará antes de que se devuelva este método.Once the operation has started, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
- method
- Delegate
Delegado de un método que toma varios argumentos y se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.
- arg
- Object
Objeto cuyos valores se pasan como argumento al método especificado.An object to pass as an argument to the given method. Puede ser null
si no se necesita ningún argumento.This can be null
if no arguments are needed.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
- Atributos
Excepciones
priority
no es una prioridad válida.priority
is not a valid priority.
method
es null
.method
is null
.
Comentarios
arg
puede ser null
si no se necesita un argumentoarg
can be null
if an argument is not needed
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(DispatcherPriority, Delegate, Object, Object[])
Ejecuta el delegado especificado en la prioridad indicada con los argumentos especificados sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As Object
Parámetros
- priority
- DispatcherPriority
Prioridad, relativa a las demás operaciones pendientes en la Dispatcher cola de eventos, a la que se invoca el método especificado.The priority, relative to the other pending operations in the Dispatcher event queue, with which the specified method is invoked.
- method
- Delegate
Delegado de un método que toma varios argumentos y se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.
- arg
- Object
Objeto cuyos valores se pasan como argumento al método especificado.An object to pass as an argument to the given method.
- args
- Object[]
Matriz de objetos cuyos valores se pasan como argumentos al método especificado.An array of objects to pass as arguments to the given method.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
- Atributos
Excepciones
priority
no es una prioridad válida.priority
is not a valid priority.
method
es null
.method
is null
.
Comentarios
arg
puede ser null
si no se necesita un argumentoarg
can be null
if an argument is not needed
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)
Ejecuta sincrónicamente el Action especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.
public:
void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan)
Parámetros
- callback
- Action
Delegado de acción que se va a invocar a través del distribuidor.An Action delegate to invoke through the dispatcher.
- priority
- DispatcherPriority
Prioridad que determina el orden en que se invoca la devolución de llamada especificada en relación con las demás operaciones pendientes en Dispatcher .The priority that determines the order in which the specified callback is invoked relative to the other pending operations in the Dispatcher.
- cancellationToken
- CancellationToken
Un objeto que indica si cancelar la acción.An object that indicates whether to cancel the action.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Una vez iniciada la operación, se completará antes de que se devuelva este método.Once the operation has started, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
Excepciones
callback
es null
.callback
is null
.
timeout
es un número negativo distinto de-1 y este método se invocó a través de subprocesos.timeout
is a negative number other than -1, and this method was invoked across threads.
priority
no es una prioridad válida.priority
is not a valid priority.
Se aplica a
Invoke(DispatcherPriority, TimeSpan, Delegate)
Ejecuta sincrónicamente el delegado especificado en la prioridad indicada y con el valor de tiempo de espera especificado en el subproceso que creó Dispatcher.Executes the specified delegate synchronously at the specified priority and with the specified time-out value on the thread the Dispatcher was created.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate) As Object
Parámetros
- priority
- DispatcherPriority
Prioridad, relativa a las demás operaciones pendientes en la Dispatcher cola de eventos, a la que se invoca el método especificado.The priority, relative to the other pending operations in the Dispatcher event queue, with which the specified method is invoked.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Una vez iniciada la operación, se completará antes de que se devuelva este método.Once the operation has started, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
- method
- Delegate
El delegado a un método que no toma ningún argumento, que se inserta en la cola de eventos de Dispatcher.The delegate to a method that takes no arguments, which is pushed onto the Dispatcher event queue.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
- Atributos
Excepciones
method
es null
.method
is null
.
timeout
es un número negativo distinto de-1 y este método se invocó a través de subprocesos.timeout
is a negative number other than -1, and this method was invoked across threads.
priority
no es una prioridad válida.priority
is not a valid priority.
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(DispatcherPriority, Delegate, Object)
Ejecuta el delegado especificado en la prioridad indicada con el argumento especificado sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object) As Object
Parámetros
- priority
- DispatcherPriority
Prioridad, relativa a las demás operaciones pendientes en la Dispatcher cola de eventos, a la que se invoca el método especificado.The priority, relative to the other pending operations in the Dispatcher event queue, with which the specified method is invoked.
- method
- Delegate
Delegado a un método que toma un argumento, que se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes one argument, which is pushed onto the Dispatcher event queue.
- arg
- Object
Objeto cuyos valores se pasan como argumento al método especificado.An object to pass as an argument to the given method.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
- Atributos
Excepciones
priority
no es una prioridad válida.priority
is not a valid priority.
method
es null
.method
is null
.
Comentarios
arg
puede ser null
si no se necesita un argumentoarg
can be null
if an argument is not needed
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])
Ejecuta de forma sincrónica el delegado especificado dentro del intervalo de tiempo designado y con la prioridad y los argumentos especificados en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * TimeSpan * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, priority As DispatcherPriority, ParamArray args As Object()) As Object
Parámetros
- method
- Delegate
Delegado de un método que toma los parámetros especificados en args
, que se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes parameters specified in args
, which is pushed onto the Dispatcher event queue.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Una vez iniciada la operación, se completará antes de que se devuelva este método.Once the operation has started, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
- priority
- DispatcherPriority
Prioridad, relativa a las demás operaciones pendientes en la Dispatcher cola de eventos, a la que se invoca el método especificado.The priority, relative to the other pending operations in the Dispatcher event queue, with which the specified method is invoked.
- args
- Object[]
Matriz de objetos cuyos valores se pasan como argumentos al método especificado.An array of objects to pass as arguments to the given method. Puede ser null
.Can be null
.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
Excepciones
method
es null
.method
is null
.
timeout
es un número negativo distinto de-1 y este método se invocó a través de subprocesos.timeout
is a negative number other than -1, and this method was invoked across threads.
priority
no es una prioridad válida.priority
is not a valid priority.
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(Delegate, TimeSpan, Object[])
Ejecuta de forma sincrónica el delegado especificado dentro del intervalo de tiempo designado y con la prioridad y los argumentos especificados en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, params object[] args);
member this.Invoke : Delegate * TimeSpan * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, ParamArray args As Object()) As Object
Parámetros
- method
- Delegate
Delegado de un método que toma los parámetros especificados en args
, que se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes parameters specified in args
, which is pushed onto the Dispatcher event queue.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Sin embargo, una vez iniciada la operación, se completará antes de que se devuelva este método.However, once the operation starts, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
- args
- Object[]
Matriz de objetos cuyos valores se pasan como argumentos al método especificado.An array of objects to pass as arguments to the given method. Puede ser null
si no se necesita ningún argumento.Can be null
if no arguments are needed.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
Excepciones
method
es null
.method
is null
.
timeout
es un número negativo distinto de-1 y está invocando a través de subprocesos.timeout
is a negative number other than -1, and you're invoking across threads.
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control won't return to the calling object until after the callback returns.
Se aplica a
Invoke(Action, DispatcherPriority, CancellationToken)
Ejecuta sincrónicamente el Action especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.
public:
void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken)
Parámetros
- callback
- Action
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
- priority
- DispatcherPriority
Prioridad que determina el orden en que se invoca la devolución de llamada especificada en relación con las demás operaciones pendientes en Dispatcher .The priority that determines the order in which the specified callback is invoked relative to the other pending operations in the Dispatcher.
- cancellationToken
- CancellationToken
Un objeto que indica si cancelar la acción.An object that indicates whether to cancel the action.
Se aplica a
Invoke(DispatcherPriority, Delegate)
Ejecuta sincrónicamente el delegado especificado en la prioridad indicada en el subproceso al que Dispatcher está asociado el objeto.Executes the specified delegate synchronously at the specified priority on the thread that the Dispatcher is associated with.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate) As Object
Parámetros
- priority
- DispatcherPriority
La prioridad con la que se invoca el método especificado, con respecto a las demás operaciones pendientes en la Dispatcher cola de eventos.The priority with which the specified method is invoked, relative to the other pending operations in the Dispatcher event queue.
- method
- Delegate
Un delegado a un método que no toma ningún argumento, que se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes no arguments, which is pushed onto the Dispatcher event queue.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
- Atributos
Excepciones
priority
no es una prioridad válida.priority
is not a valid priority.
method
es null
.method
is null
.
Ejemplos
En el ejemplo siguiente se coloca un delegado en Dispatcher en Normal mediante Invoke .The following example places a delegate onto a Dispatcher at Normal using Invoke.
// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
// Place delegate on the Dispatcher.
this.Dispatcher.Invoke(DispatcherPriority.Normal,
new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
' Place delegate on the Dispatcher.
Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(Delegate, Object[])
Ejecuta de forma sincrónica el delegado especificado con los argumentos especificados en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate with the specified arguments synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, params object[] args);
member this.Invoke : Delegate * obj[] -> obj
Public Function Invoke (method As Delegate, ParamArray args As Object()) As Object
Parámetros
- method
- Delegate
Delegado de un método que toma los parámetros especificados en args
, que se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes parameters specified in args
, which is pushed onto the Dispatcher event queue.
- args
- Object[]
Matriz de objetos cuyos valores se pasan como argumentos al método especificado.An array of objects to pass as arguments to the given method. Puede ser null
.Can be null
.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke(Action, DispatcherPriority)
Ejecuta sincrónicamente el Action especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.
public:
void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority)
Parámetros
- callback
- Action
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
- priority
- DispatcherPriority
Prioridad que determina el orden en que se invoca la devolución de llamada especificada en relación con las demás operaciones pendientes en Dispatcher .The priority that determines the order in which the specified callback is invoked relative to the other pending operations in the Dispatcher.
Se aplica a
Invoke(Action)
Ejecuta sincrónicamente el Action especificado en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Action synchronously on the thread the Dispatcher is associated with.
public:
void Invoke(Action ^ callback);
public void Invoke (Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)
Parámetros
- callback
- Action
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
Se aplica a
Invoke(Delegate, DispatcherPriority, Object[])
Ejecuta el delegado especificado en la prioridad indicada con los argumentos especificados sincrónicamente en el subproceso al que está asociado el objeto Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.
public:
System::Object ^ Invoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As Object
Parámetros
- method
- Delegate
Delegado de un método que toma los parámetros especificados en args
, que se inserta en la cola de eventos de Dispatcher.A delegate to a method that takes parameters specified in args
, which is pushed onto the Dispatcher event queue.
- priority
- DispatcherPriority
La prioridad con la que se invoca el método especificado, con respecto a las demás operaciones pendientes en la Dispatcher cola de eventos.The priority with which the specified method is invoked, relative to the other pending operations in the Dispatcher event queue.
- args
- Object[]
Matriz de objetos cuyos valores se pasan como argumentos al método especificado.An array of objects to pass as arguments to the given method. Puede ser null
.Can be null
.
Devoluciones
Es el valor devuelto desde el delegado al que se invoca o es null
si el delegado no devuelve ningún valor.The return value from the delegate being invoked or null
if the delegate has no return value.
Comentarios
En WPF, solo el subproceso que creó una DispatcherObject puede tener acceso a ese objeto.In WPF, only the thread that created a DispatcherObject may access that object. Por ejemplo, un subproceso en segundo plano que se gira desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button creado en el subproceso de la interfaz de usuario.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Para que el subproceso en segundo plano tenga acceso a la propiedad de contenido de Button , el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Esto se logra mediante Invoke o BeginInvoke .This is accomplished by using either Invoke or BeginInvoke. Invoke es sincrónico y BeginInvoke es asincrónico.Invoke is synchronous and BeginInvoke is asynchronous. La operación se agrega a la cola de eventos de Dispatcher en el especificado DispatcherPriority .The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.
Invoke es una operación sincrónica; por lo tanto, el control no volverá al objeto que realiza la llamada hasta que la devolución de llamada vuelva.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.
Se aplica a
Invoke<TResult>(Func<TResult>)
Ejecuta sincrónicamente el Func<TResult> especificado en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously on the thread the Dispatcher is associated with.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback);
public TResult Invoke<TResult> (Func<TResult> callback);
member this.Invoke : Func<'Result> -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult)) As TResult
Parámetros de tipo
- TResult
Tipo del valor devuelto del delegado especificado.The return value type of the specified delegate.
Parámetros
- callback
- Func<TResult>
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
Devoluciones
- TResult
El valor devuelto por callback
.The value returned by callback
.
Se aplica a
Invoke<TResult>(Func<TResult>, DispatcherPriority)
Ejecuta sincrónicamente el Func<TResult> especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority) As TResult
Parámetros de tipo
- TResult
Tipo del valor devuelto del delegado especificado.The return value type of the specified delegate.
Parámetros
- callback
- Func<TResult>
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
- priority
- DispatcherPriority
Prioridad que determina el orden en que se invoca la devolución de llamada especificada en relación con las demás operaciones pendientes en Dispatcher .The priority that determines the order in which the specified callback is invoked relative to the other pending operations in the Dispatcher.
Devoluciones
- TResult
El valor devuelto por callback
.The value returned by callback
.
Se aplica a
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)
Ejecuta sincrónicamente el Func<TResult> especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken) As TResult
Parámetros de tipo
- TResult
Tipo del valor devuelto del delegado especificado.The return value type of the specified delegate.
Parámetros
- callback
- Func<TResult>
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
- priority
- DispatcherPriority
Prioridad que determina el orden en que se invoca la devolución de llamada especificada en relación con las demás operaciones pendientes en Dispatcher .The priority that determines the order in which the specified callback is invoked relative to the other pending operations in the Dispatcher.
- cancellationToken
- CancellationToken
Un objeto que indica si cancelar la operación.An object that indicates whether to cancel the operation.
Devoluciones
- TResult
El valor devuelto por callback
.The value returned by callback
.
Se aplica a
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)
Ejecuta sincrónicamente el Func<TResult> especificado en la prioridad indicada en el subproceso al que está asociado el objeto Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan) As TResult
Parámetros de tipo
- TResult
Tipo del valor devuelto del delegado especificado.The return value type of the specified delegate.
Parámetros
- callback
- Func<TResult>
Delegado para invocar a través del distribuidor.A delegate to invoke through the dispatcher.
- priority
- DispatcherPriority
Prioridad que determina el orden en que se invoca la devolución de llamada especificada en relación con las demás operaciones pendientes en Dispatcher .The priority that determines the order in which the specified callback is invoked relative to the other pending operations in the Dispatcher.
- cancellationToken
- CancellationToken
Un objeto que indica si cancelar la operación.An object that indicates whether to cancel the operation.
- timeout
- TimeSpan
Cantidad máxima de tiempo de espera para que se inicie la operación.The maximum amount of time to wait for the operation to start. Una vez iniciada la operación, se completará antes de que se devuelva este método.Once the operation has started, it will complete before this method returns. Para especificar una espera infinita, use un valor de-1.To specify an infinite wait, use a value of -1. En una llamada del mismo subproceso, cualquier otro valor negativo se convierte en-1, lo que produce una espera infinita.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. En una llamada entre subprocesos, cualquier otro valor negativo produce una excepción ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.
Devoluciones
- TResult
El valor devuelto por callback
.The value returned by callback
.
Excepciones
callback
es null
.callback
is null
.
timeout
es un número negativo distinto de-1 y el método se invocó a través de subprocesos.timeout
is a negative number other than -1, and the method was invoked across threads.
priority
no es una prioridad válida.priority
is not a valid priority.