1 votes

Quel modèle dois-je utiliser pour coupler l'interface utilisateur .NET à une classe de bibliothèque .NET qui fournira des mises à jour par callback ?

Quelle est la meilleure approche/le meilleur modèle à utiliser dans les cas suivants ?

  1. Avoir une solution d'interface utilisateur en C# qui aura (a) une interface Winforms/WPF, et (b) une bibliothèque de classes.
  2. L'interface utilisateur devra démarrer un thread séparé pour la routine de la bibliothèque de classes qui interrogera les utilisateurs.
  3. La bibliothèque de classes devra ensuite déclencher une fonction de rappel dans l'interface utilisateur pour mettre à jour les champs de l'interface si nécessaire.

Comment puis-je mettre en œuvre cet arrangement de rappel de manière à ce que la bibliothèque de classes puisse être réutilisée et, idéalement, qu'elle ne dépende pas du composant de l'interface utilisateur.

merci

3voto

Kangkan Points 7119

Utilisez Backgroundworker pour cela. Cela facilitera la mise en œuvre et la gestion des threads.

2voto

Paul Farry Points 2585

Vous pourriez le faire en levant un événement à partir de votre bibliothèque, de cette façon la bibliothèque n'aura besoin que de lever l'événement, si l'interface utilisateur choisit de consommer l'événement, c'est l'interface utilisateur qui s'en chargera.

Vous pouvez également exposer une propriété comme CallbackMethod et avoir un délégué qu'il accepte, puis dans l'interface utilisateur vous définissez la propriété à l'adresse de votre fonction. Lorsque la bibliothèque doit "envoyer le rappel nécessaire", vous vérifiez si le rappel a été rempli, puis vous appelez la fonction de rappel (via le délégué) si elle a été définie, ou vous l'ignorez si elle ne l'a pas été.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X