Dispatcher.Invoke Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Exécute le délégué spécifié de façon synchrone au niveau du thread auquel le Dispatcher est associé.
Surcharges
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[]) |
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé. |
Invoke(DispatcherPriority, TimeSpan, Delegate, Object) |
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé. |
Invoke(DispatcherPriority, Delegate, Object, Object[]) |
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé. |
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan) |
Exécute l'objet Action spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé. |
Invoke(DispatcherPriority, TimeSpan, Delegate) |
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec la valeur de délai d'attente définie au niveau du thread sur lequel le Dispatcher a été créé. |
Invoke(DispatcherPriority, Delegate, Object) |
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé. |
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[]) |
Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé. |
Invoke(Delegate, TimeSpan, Object[]) |
Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé. |
Invoke(Action, DispatcherPriority, CancellationToken) |
Exécute l'objet Action spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé. |
Invoke(DispatcherPriority, Delegate) |
Exécute le délégué spécifié de façon synchrone à la priorité spécifiée sur le thread auquel est Dispatcher associé. |
Invoke(Delegate, Object[]) |
Exécute le délégué spécifié de façon synchrone avec les arguments spécifiés, sur le thread auquel Dispatcher est associé. |
Invoke(Action, DispatcherPriority) |
Exécute l'objet Action spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé. |
Invoke(Action) |
Exécute l'objet Action spécifié de façon synchrone au niveau du thread auquel le Dispatcher est associé. |
Invoke(Delegate, DispatcherPriority, Object[]) |
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé. |
Invoke<TResult>(Func<TResult>) |
Exécute l'objet Func<TResult> spécifié de façon synchrone au niveau du thread auquel le Dispatcher est associé. |
Invoke<TResult>(Func<TResult>, DispatcherPriority) |
Exécute l'objet Func<TResult> spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken) |
Exécute l'objet Func<TResult> spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan) |
Exécute l'objet Func<TResult> spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé. |
Exemples
L’exemple suivant place un délégué sur un Dispatcher à l’aide Normal de 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
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
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
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec lesquelles la méthode spécifiée est appelée.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
- method
- Delegate
Délégué vers une méthode qui prend plusieurs arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.
- arg
- Object
Objet à passer comme argument à la méthode spécifiée.
- args
- Object[]
Tableau d'objets à passer comme arguments à la méthode spécifiée.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
- Attributs
Exceptions
priority
est égal à Inactive.
priority
n’est pas un DispatcherPriority valide.
method
a la valeur null
.
timeout
est un nombre négatif autre que -1, et cette méthode a été appelée sur les threads.
Remarques
arg
peut être null
si un argument n’est pas nécessaire.
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(DispatcherPriority, TimeSpan, Delegate, Object)
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
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
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec lesquelles la méthode spécifiée est appelée.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
- method
- Delegate
Délégué vers une méthode qui prend plusieurs arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.
- arg
- Object
Objet à passer comme argument à la méthode donnée. Peut être null
si aucun argument n'est nécessaire.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
- Attributs
Exceptions
priority
est égal à Inactive.
priority
n'est pas une priorité valide.
method
a la valeur null
.
Remarques
arg
peut être null
si un argument n’est pas nécessaire
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(DispatcherPriority, Delegate, Object, Object[])
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
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
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec lesquelles la méthode spécifiée est appelée.
- method
- Delegate
Délégué vers une méthode qui prend plusieurs arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.
- arg
- Object
Objet à passer comme argument à la méthode donnée.
- args
- Object[]
Tableau d’objets à passer comme arguments à la méthode donnée.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
- Attributs
Exceptions
priority
est égal à Inactive.
priority
n'est pas une priorité valide.
method
a la valeur null
.
Remarques
arg
peut être null
si un argument n’est pas nécessaire
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)
Exécute l'objet Action spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
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)
Paramètres
- callback
- Action
Délégué d’action à appeler via le répartiteur.
- priority
- DispatcherPriority
Priorité qui détermine l’ordre dans lequel le rappel spécifié est appelé par rapport aux autres opérations en attente dans le Dispatcher.
- cancellationToken
- CancellationToken
Objet qui indique s'il est nécessaire d'annuler l'action.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
Exceptions
callback
a la valeur null
.
timeout
est un nombre négatif autre que -1, et cette méthode a été appelée sur les threads.
priority
n'est pas une priorité valide.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
S’applique à
Invoke(DispatcherPriority, TimeSpan, Delegate)
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec la valeur de délai d'attente définie au niveau du thread sur lequel le Dispatcher a été créé.
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
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec lesquelles la méthode spécifiée est appelée.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
- method
- Delegate
Délégué vers une méthode qui ne prend pas d'arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
- Attributs
Exceptions
method
a la valeur null
.
timeout
est un nombre négatif autre que -1, et cette méthode a été appelée sur les threads.
priority
est égal à Inactive.
priority
n'est pas une priorité valide.
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(DispatcherPriority, Delegate, Object)
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
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
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec lesquelles la méthode spécifiée est appelée.
- method
- Delegate
Délégué vers une méthode qui prend un argument, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.
- arg
- Object
Objet à passer comme argument à la méthode donnée.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
- Attributs
Exceptions
priority
est égal à Inactive.
priority
n'est pas une priorité valide.
method
a la valeur null
.
Remarques
arg
peut être null
si un argument n’est pas nécessaire
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])
Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé.
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
Paramètres
- method
- Delegate
Délégué d'une méthode qui prend les paramètres spécifiés dans args
, qui fait l'objet d'un push dans la file d'attente des événements de Dispatcher.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec lesquelles la méthode spécifiée est appelée.
- args
- Object[]
Tableau d’objets à passer comme arguments à la méthode donnée. Peut être null
.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
Exceptions
method
a la valeur null
.
timeout
est un nombre négatif autre que -1, et cette méthode a été appelée sur les threads.
priority
est égal à Inactive.
priority
n'est pas une priorité valide.
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(Delegate, TimeSpan, Object[])
Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé.
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
Paramètres
- method
- Delegate
Délégué d'une méthode qui prend les paramètres spécifiés dans args
, qui fait l'objet d'un push dans la file d'attente des événements de Dispatcher.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Toutefois, une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
- args
- Object[]
Tableau d’objets à passer comme arguments à la méthode donnée. Peut être null
si aucun argument n’est nécessaire.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
Exceptions
method
a la valeur null
.
timeout
est un nombre négatif autre que -1, et vous appelez sur plusieurs threads.
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(Action, DispatcherPriority, CancellationToken)
Exécute l'objet Action spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
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)
Paramètres
- callback
- Action
Délégué permettant d'appeler via le répartiteur.
- priority
- DispatcherPriority
Priorité qui détermine l’ordre dans lequel le rappel spécifié est appelé par rapport aux autres opérations en attente dans le Dispatcher.
- cancellationToken
- CancellationToken
Objet qui indique s'il est nécessaire d'annuler l'action.
Exceptions
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
S’applique à
Invoke(DispatcherPriority, Delegate)
Exécute le délégué spécifié de façon synchrone à la priorité spécifiée sur le thread auquel est Dispatcher associé.
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
Paramètres
- priority
- DispatcherPriority
Priorité avec laquelle la méthode spécifiée est appelée, par rapport aux autres opérations en attente dans la file d’attente d’événements Dispatcher .
- method
- Delegate
Délégué vers une méthode qui ne prend pas d'arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
- Attributs
Exceptions
priority
est égal à Inactive.
priority
n'est pas une priorité valide.
method
a la valeur null
.
Exemples
L’exemple suivant place un délégué sur un Dispatcher à l’aide Normal de 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
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(Delegate, Object[])
Exécute le délégué spécifié de façon synchrone avec les arguments spécifiés, sur le thread auquel Dispatcher est associé.
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
Paramètres
- method
- Delegate
Délégué d'une méthode qui prend les paramètres spécifiés dans args
, qui fait l'objet d'un push dans la file d'attente des événements de Dispatcher.
- args
- Object[]
Tableau d’objets à passer comme arguments à la méthode donnée. Peut être null
.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke(Action, DispatcherPriority)
Exécute l'objet Action spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
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)
Paramètres
- callback
- Action
Délégué permettant d'appeler via le répartiteur.
- priority
- DispatcherPriority
Priorité qui détermine l’ordre dans lequel le rappel spécifié est appelé par rapport aux autres opérations en attente dans le Dispatcher.
S’applique à
Invoke(Action)
Exécute l'objet Action spécifié de façon synchrone au niveau du thread auquel le Dispatcher est associé.
public:
void Invoke(Action ^ callback);
public void Invoke (Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)
Paramètres
- callback
- Action
Délégué permettant d'appeler via le répartiteur.
Remarques
La priorité par défaut est DispatcherPriority.Send
.
S’applique à
Invoke(Delegate, DispatcherPriority, Object[])
Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
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
Paramètres
- method
- Delegate
Délégué d'une méthode qui prend les paramètres spécifiés dans args
, qui fait l'objet d'un push dans la file d'attente des événements de Dispatcher.
- priority
- DispatcherPriority
Priorité avec laquelle la méthode spécifiée est appelée, par rapport aux autres opérations en attente dans la file d’attente d’événements Dispatcher .
- args
- Object[]
Tableau d’objets à passer comme arguments à la méthode donnée. Peut être null
.
Retours
Valeur de retour du délégué appelé ou null
si le délégué n'a pas de valeur de retour.
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est extrait du thread d’interface utilisateur main ne peut pas mettre à jour le contenu d’un Button qui a été créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Content du Button, le thread d’arrière-plan doit déléguer le travail au associé au Dispatcher thread d’interface utilisateur. Pour ce faire, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher au spécifié DispatcherPriority.
Invoke est une opération synchrone ; Par conséquent, le contrôle ne reviendra à l’objet appelant qu’après le retour du rappel.
S’applique à
Invoke<TResult>(Func<TResult>)
Exécute l'objet Func<TResult> spécifié de façon synchrone au niveau du thread auquel le Dispatcher est associé.
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
Paramètres de type
- TResult
Type de valeur de retour du délégué spécifié.
Paramètres
- callback
- Func<TResult>
Délégué permettant d'appeler via le répartiteur.
Retours
Valeur retournée par callback
.
S’applique à
Invoke<TResult>(Func<TResult>, DispatcherPriority)
Exécute l'objet Func<TResult> spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
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
Paramètres de type
- TResult
Type de valeur de retour du délégué spécifié.
Paramètres
- callback
- Func<TResult>
Délégué permettant d'appeler via le répartiteur.
- priority
- DispatcherPriority
Priorité qui détermine l’ordre dans lequel le rappel spécifié est appelé par rapport aux autres opérations en attente dans le Dispatcher.
Retours
Valeur retournée par callback
.
S’applique à
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)
Exécute l'objet Func<TResult> spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
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
Paramètres de type
- TResult
Type de valeur de retour du délégué spécifié.
Paramètres
- callback
- Func<TResult>
Délégué permettant d'appeler via le répartiteur.
- priority
- DispatcherPriority
Priorité qui détermine l’ordre dans lequel le rappel spécifié est appelé par rapport aux autres opérations en attente dans le Dispatcher.
- cancellationToken
- CancellationToken
Objet qui indique s'il est nécessaire d'annuler l'opération.
Retours
Valeur retournée par callback
.
Exceptions
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
S’applique à
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)
Exécute l'objet Func<TResult> spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
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
Paramètres de type
- TResult
Type de valeur de retour du délégué spécifié.
Paramètres
- callback
- Func<TResult>
Délégué permettant d'appeler via le répartiteur.
- priority
- DispatcherPriority
Priorité qui détermine l’ordre dans lequel le rappel spécifié est appelé par rapport aux autres opérations en attente dans le Dispatcher.
- cancellationToken
- CancellationToken
Objet qui indique s'il est nécessaire d'annuler l'opération.
- timeout
- TimeSpan
Durée maximale d’attente avant le démarrage de l’opération. Une fois l’opération démarrée, elle se termine avant que cette méthode ne retourne. Pour spécifier une attente infinie, utilisez la valeur -1. Dans un appel du même thread, toute autre valeur négative est convertie en -1, ce qui entraîne une attente infinie. Dans un appel inter-thread, toute autre valeur négative lève un ArgumentOutOfRangeException.
Retours
Valeur retournée par callback
.
Exceptions
callback
a la valeur null
.
timeout
est un nombre négatif autre que -1, et la méthode a été appelée sur plusieurs threads.
priority
n'est pas une priorité valide.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.