J'ai écrit une belle classe de file d'attente prioritaire,Comment rendre BlockingCollection observable?
class ConcurrentPriorityQueue<T>
: IProducerConsumerCollection<KeyValuePair<int,T>>, INotifyCollectionChanged
where T : INotifyPropertyChanged
que je veux maintenant envelopper dans un dans un BlockingCollection
,
Queue = new ConcurrentPriorityQueue<DownloadItem>(10);
Buffer = new BlockingCollection<KeyValuePair<int, DownloadItem>>(Queue, 1000)
{
new KeyValuePair<int, DownloadItem>(0, new DownloadItem{Url = "stackoverflow.com"})
};
Pour qu'il puisse ajouter une capacité maximale, et nous espérons que certains thread-sécurité. Maintenant, cependant, je semble avoir perdu la fonctionnalité observable!
Comment puis-je connecter un DataGrid à cette collection pour qu'il reçoive toujours les notifications de modification de collection?
Ne pense pas que je fais réellement ... Je dois juste lier à la collection sous-jacente à la place. – mpen