2012-01-27 4 views
2

Je souhaite créer un modèle d'objet non-interface utilisateur dont les objets sont affixés par un thread. Si j'hérite de Windows.Threading.DispatcherObject dans l'assembly WindowsBase, je peux tirer parti d'un bon code pour cela. Cependant, je suis un peu hésitant car sent comme si je couplais ma bibliothèque à WPF. Mais est WindowsBase vraiment partie de WPF?DispatcherObject sur les threads sans interface utilisateur

J'ai déjà lancé ma propre implémentation Dispatcher et DispatcherObject. C'était une bonne expérience d'apprentissage, elle est relativement simple et semble bien fonctionner. Mais si d'autres finissent par hériter ou utiliser ce code, ils devront se familiariser avec ce code. Si j'utilise le code de WindowsBase, je peux simplement les renvoyer à MSDN.

Alors je cherche des recommandations. Souhaitez-vous suggérer hériter de DispatcherObject, ou considérez-vous que c'est une mauvaise forme? Le DispatcherObject devait-il être utilisé en dehors de WPF?

Répondre

0

Non, vous ne le connectez pas à WPF.

Je pense qu'il est dans une position similaire à ObservableCollection (même si ObservableCollection est dans System.dll) - son habitat le plus naturel est WPF, mais il n'est pas difficile de penser à l'utiliser en dehors de WPF. En passant, vous ne le connectez même pas à Microsoft CLR. Dispatcher seems to be implemented in Mono ainsi, contrairement au reste de WPF - les auteurs de Mono ont déclaré que WPF is not even planned to be supported.

Je trouve également quelque peu étrange que vous mentionniez DispatcherObject et pas Dispatcher. Vous utilisez en quelque sorte DispatcherObject sans Dispatcher?

Questions connexes