如何在BackgroundWorker_DoWork和_RunWorkerCompleted之间传输列表
本文关键字:RunWorkerCompleted 之间 传输 列表 DoWork BackgroundWorker | 更新日期: 2023-09-27 18:24:13
我有一个后台工作程序,当PhoneApplicationPage
有Loaded
时会触发它。
如何将_DoWork过程中生成的列表转移到_RunWorkerComplete过程?
这是空代码:(我会把它全部放进去,但它很长)
private void bw_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker bw = new BackgroundWorker();
bw.WorkerReportsProgress = false;
bw.WorkerSupportsCancellation = false;
bw.RunWorkerCompleted +=
new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
}
private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
}
在DoWork
处理程序中设置e.Result
,并在RunWorkerCompleted
处理程序中读取e.Result
(需要将其强制转换回适当的类型)。
其他选项是使用类型的实例字段;在其中一个中设置它,在另一个中读取它,或者让两个事件处理程序都是lambda,而不是命名方法,在命名方法中,它们都关闭一些公共变量。