0

我有一个类需要使用来自 C# 串行 DataReceived 事件的数据更新属性。

我不是要更新 UI,但我发现的关于使用 DataReceived 事件(在不同的线程上运行)的结果的唯一参考说使用 .Invoke 将数据获取到 UI 控件中。我的课程与 UI 没有关联,因此 .Invoke 不可用。

当处理程序尝试更改类中的属性时,我收到可怕的错误:“调用线程无法访问此对象,因为不同的线程拥有它。”

将结果放入父线程的过程是什么?

4

1 回答 1

1

如果您不想提供一直到 DAL 的 UI 参考,那么您可以使用SynchronizationContext采用这种方法。

于 2012-04-17T19:46:27.967 回答