Dispatcher.BeginInvoke 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 un délégué de manière asynchrone sur le thread auquel il Dispatcher est associé.
Surcharges
| Nom | Description |
|---|---|
| BeginInvoke(Delegate, Object[]) |
Exécute le délégué spécifié de manière asynchrone avec les arguments spécifiés sur le thread sur lequel l’objet Dispatcher a été créé. |
| BeginInvoke(DispatcherPriority, Delegate) |
Exécute le délégué spécifié de manière asynchrone à la priorité spécifiée sur le thread auquel il Dispatcher est associé. |
| BeginInvoke(Delegate, DispatcherPriority, Object[]) |
Exécute le délégué spécifié de manière asynchrone avec les arguments spécifiés, à la priorité spécifiée, sur le thread sur lequel l’objet Dispatcher a été créé. |
| BeginInvoke(DispatcherPriority, Delegate, Object) |
Exécute le délégué spécifié de manière asynchrone à la priorité spécifiée et avec l’argument spécifié sur le thread auquel il Dispatcher est associé. |
| BeginInvoke(DispatcherPriority, Delegate, Object, Object[]) |
Exécute le délégué spécifié de manière asynchrone à la priorité spécifiée et avec le tableau d’arguments spécifié sur le thread auquel il Dispatcher est associé. |
Remarques
Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Cette opération est effectuée à l’aide de l’une ou l’autre Invoke des opérations BeginInvokesuivantes : Invoke est synchrone et BeginInvoke est asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.
BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.
BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.
L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :
DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.
Suppression du délégué de la file d’attente d’événements.
En attente du retour du délégué.
Obtention de la valeur retournée par le délégué après son exécution.
Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.
Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .
BeginInvoke(Delegate, Object[])
Exécute le délégué spécifié de manière asynchrone avec les arguments spécifiés sur le thread sur lequel l’objet Dispatcher a été créé.
public:
System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke(Delegate method, params object[] args);
member this.BeginInvoke : Delegate * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, ParamArray args As Object()) As DispatcherOperation
Paramètres
- method
- Delegate
Délégué à une méthode qui prend les paramètres spécifiés dans args, qui est envoyé (push) dans la Dispatcher file d’attente d’événements.
- args
- Object[]
Tableau d’objets à passer en tant qu’arguments à la méthode donnée. Peut être null.
Retours
Objet retourné immédiatement après BeginInvoke l’appel, qui peut être utilisé pour interagir avec le délégué, car il est en attente d’exécution dans la file d’attente d’événements.
Remarques
L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :
DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.
Suppression du délégué de la file d’attente d’événements.
En attente du retour du délégué.
Obtention de la valeur retournée par le délégué après son exécution.
BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.
Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Cette opération est effectuée à l’aide de l’une ou l’autre Invoke des opérations BeginInvokesuivantes : Invoke est synchrone et BeginInvoke est asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.
Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .
S’applique à
BeginInvoke(DispatcherPriority, Delegate)
Exécute le délégué spécifié de manière asynchrone à la priorité spécifiée sur le thread auquel il Dispatcher est associé.
public:
System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate) As DispatcherOperation
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.
- method
- Delegate
Délégué à une méthode qui ne prend aucun argument, qui est envoyé (push) dans la Dispatcher file d’attente d’événements.
Retours
Objet retourné immédiatement après BeginInvoke l’appel, qui peut être utilisé pour interagir avec le délégué, car il est en attente d’exécution dans la file d’attente d’événements.
- Attributs
Exceptions
method a la valeur null.
priority n’est pas valide DispatcherPriority.
Exemples
L’exemple suivant montre comment placer une opération sur un Dispatcher. Pour obtenir le code source complet de cet exemple, consultez Single-Threaded Application avec Long-Running'exemple de calcul.
Tout d’abord, un délégué est créé qui n’accepte aucun argument.
public delegate void NextPrimeDelegate();
Public Delegate Sub NextPrimeDelegate()
Ensuite, BeginInvoke(DispatcherPriority, Delegate) on appelle. Étant donné que chaque DispatcherObject propriété a une propriété qui retourne l’élément Dispatcher auquel elle est associée, l’objet souhaité Dispatcher est obtenu en interrogeant , DispatcherObjectdans ce cas, un Button nom startStopButton. L’appel à BeginInvoke(DispatcherPriority, Delegate) prendre deux paramètres : la priorité, définie DispatcherPriority.Normalsur , et le rappel, qui est transmis via une instance du délégué NextPrimeDelegate.
startStopButton.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
new NextPrimeDelegate(CheckNextNumber));
startStopButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New NextPrimeDelegate(AddressOf CheckNextNumber))
Remarques
Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.
BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.
L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :
DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.
Suppression du délégué de la file d’attente d’événements.
En attente du retour du délégué.
Obtention de la valeur retournée par le délégué après son exécution.
BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.
Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Cette opération est effectuée à l’aide de l’une ou l’autre Invoke des opérations BeginInvokesuivantes : Invoke est synchrone et BeginInvoke est asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.
Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .
Voir aussi
S’applique à
BeginInvoke(Delegate, DispatcherPriority, Object[])
Exécute le délégué spécifié de manière asynchrone avec les arguments spécifiés, à la priorité spécifiée, sur le thread sur lequel l’objet Dispatcher a été créé.
public:
System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke(Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.BeginInvoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As DispatcherOperation
Paramètres
- method
- Delegate
Délégué à une méthode qui prend les paramètres spécifiés dans args, qui est envoyé (push) dans la Dispatcher file d’attente d’événements.
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.
- args
- Object[]
Tableau d’objets à passer en tant qu’arguments à la méthode donnée. Peut être null.
Retours
Objet retourné immédiatement après BeginInvoke l’appel, qui peut être utilisé pour interagir avec le délégué, car il est en attente d’exécution dans la file d’attente d’événements.
Remarques
L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :
DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.
Suppression du délégué de la file d’attente d’événements.
En attente du retour du délégué.
Obtention de la valeur retournée par le délégué après son exécution.
BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.
Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Cette opération est effectuée à l’aide de l’une ou l’autre Invoke des opérations BeginInvokesuivantes : Invoke est synchrone et BeginInvoke est asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.
Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .
S’applique à
BeginInvoke(DispatcherPriority, Delegate, Object)
Exécute le délégué spécifié de manière asynchrone à la priorité spécifiée et avec l’argument spécifié sur le thread auquel il Dispatcher est associé.
public:
System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object) As DispatcherOperation
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.
- method
- Delegate
Délégué à une méthode qui accepte un argument, qui est envoyé (push) dans la Dispatcher file d’attente d’événements.
- arg
- Object
Objet à passer en tant qu’argument à la méthode spécifiée.
Retours
Objet retourné immédiatement après BeginInvoke l’appel, qui peut être utilisé pour interagir avec le délégué, car il est en attente d’exécution dans la file d’attente d’événements.
- Attributs
Exceptions
method a la valeur null.
priority n’est pas valide DispatcherPriority.
Exemples
L’exemple suivant montre comment placer une opération sur un Dispatcher.
Tout d’abord, un délégué est créé qui accepte un argument, dans ce cas une chaîne.
private delegate void OneArgDelegate(String arg);
Private Delegate Sub OneArgDelegate(ByVal arg As String)
Ensuite, BeginInvoke(DispatcherPriority, Delegate, Object) on appelle. Étant donné que chaque DispatcherObject propriété a une propriété qui retourne l’élément Dispatcher auquel elle est associée, l’objet souhaité Dispatcher est obtenu en interrogeant , DispatcherObjectdans ce cas, un Grid nom tomorrowsWeather. L’appel à BeginInvoke(DispatcherPriority, Delegate, Object) prendre trois paramètres : la priorité, définie sur DispatcherPriority.Normal; le rappel, qui est transmis via une instance du délégué OneArgDelegate; et une chaîne nommée weather, qui est l’argument du rappel.
// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
new OneArgDelegate(UpdateUserInterface),
weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)
Remarques
arg peut être null si aucun argument n’est nécessaire.
BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.
L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :
DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.
Suppression du délégué de la file d’attente d’événements.
En attente du retour du délégué.
Obtention de la valeur retournée par le délégué après son exécution.
BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.
Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété de contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Cette opération est effectuée à l’aide de l’une ou l’autre Invoke des opérations BeginInvokesuivantes : Invoke est synchrone et BeginInvoke est asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.
Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.
Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .
Voir aussi
S’applique à
BeginInvoke(DispatcherPriority, Delegate, Object, Object[])
Exécute le délégué spécifié de manière asynchrone à la priorité spécifiée et avec le tableau d’arguments spécifié sur le thread auquel il Dispatcher est associé.
public:
System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As DispatcherOperation
Paramètres
- priority
- DispatcherPriority
Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.
- method
- Delegate
Délégué à une méthode qui accepte plusieurs arguments, qui est envoyé (push) dans la Dispatcher file d’attente d’événements.
- arg
- Object
Objet à passer en tant qu’argument à la méthode spécifiée.
- args
- Object[]
Tableau d’objets à passer en tant qu’arguments à la méthode spécifiée.
Retours
Objet retourné immédiatement après BeginInvoke son appel, qui peut être utilisé pour interagir avec le délégué, car il est en attente d’exécution dans la Dispatcher file d’attente.
- Attributs
Exceptions
method a la valeur null.
DispatcherPriority n’est pas une priorité valide.
Remarques
Le arg paramètre peut être null si aucun argument n’est nécessaire.
BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.
L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :
DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.
Suppression du délégué de la file d’attente d’événements.
En attente du retour du délégué.
Obtention de la valeur retournée par le délégué après son exécution.
BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.
Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Cette opération est effectuée à l’aide de l’une ou l’autre Invoke des opérations BeginInvokesuivantes : Invoke est synchrone et BeginInvoke est asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.
Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.
Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .