3

我正在寻找一个ObservableCollection线程安全的替代品,在 UI 线程上引发事件,最好有一个AddRange方法。我在这里和其他地方看到过一些实现,但我更喜欢经过测试和验证的实现,而且我不必自己维护。

那么任何人都可以向我指出这样的替代品,最好通过 NuGet 获得?

4

3 回答 3

3

对于线程安全集合,请检查System.Collections.Concurrent命名空间。ConcurrentStack 有一个 PushRange 方法,可以在栈顶插入多个对象。

于 2012-09-17T21:42:04.000 回答
2

您可以尝试使用 Microsoft 的BulkObservableCollection,尽管我不确定他们为什么将它放在如此奇怪的命名空间中!当我尝试在 VS2012 中“添加引用...”时没有看到它,必须手动浏览到 C:\Windows\Microsoft.NET\assembly\GAC_MSIL

于 2013-01-28T20:44:03.417 回答
0

您可以尝试这里描述的一种:

http://deanchalk.com/2010/02/01/thread-safe-dispatcher-safe-observable-collection-for-wpf/

这是博客文章中的完整实现。它可作为源(来自该页面)提供,因此它可能不符合您的测试/验证标准。

我没有使用过它,所以我不能保证它工作得如何(或没有)。

更新:旧链接已损坏。我用当前链接替换了它。Dean Chalk 实际上是 SO 的成员,所以这里有一个指向他的 SO 个人资料的链接,以防它再次中断:

https://stackoverflow.com/users/328848/dean-chalk

于 2012-09-17T21:59:38.027 回答