【发布时间】:2018-04-15 21:36:21
【问题描述】:
我想知道以下几点:
我有一个名为 Container 的可观察集合和一个名为 Method 的方法。
在主线程上,我想将Method 的返回值添加到Container。
以下代码在另一个线程上运行,因此我必须将Container.Add 调用到应用程序当前线程才能没有错误:
object obj = Method()
App.Current.Dispatcher.Invoke(() => {
Container.Add((MyObject)obj)
});
我的问题是我是否会做以下事情
App.Current.Dispatcher.Invoke(() => {
Container.Add((MyObject)Method())
});
该方法(这是一个长时间运行的方法)将在应用程序当前线程上运行,这不太正确,因为它会处理 UI,我可以只调用要添加到 @987654328 的方法的返回值吗@ 没有像第一个例子那样定义对象?
【问题讨论】:
标签: c# wpf multithreading user-interface invoke