我已经开发了一个数据获取子系统作为DLL,它使用自己的线程捕获数据并使用ObservableCollections发布数据。我遇到了几个问题,因为事件的消费者在收到ObservableCollection事件时会进行昂贵的操作,这使得我的引擎捕获数据的速度比预期慢。
我计划以不同的线程发送事件以避免这些问题,但我有几个问题:
public class ObservableCollection2
{
public void Add()
{
_internalObservableCollection.Add();
new Thread() { => Raise the event }
}
}
感谢您的想法。
答案 0 :(得分:2)
有几种想法可以解决这种情况。
ObservableCollection
是一个非常沉重的阶级。我个人只在视图模型中使用它来进行视图绑定,在模型中我使用内部包含集合的自制类,并在需要时发送所需的事件。通过这种方式,我可以更好地控制发生的事情。