我有一个后台工作程序,当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)
{
}
答案 0 :(得分:2)
在e.Result
处理程序中设置DoWork
并阅读e.Result
处理程序中的RunWorkerCompleted
(您需要将其强制转换为相应的类型)。
其他选项是使用该类型的实例字段;将它设置为一个并在另一个中读取它,或者使两个事件处理程序都是lambda,而不是命名方法,在这些方法中它们都关闭一些公共变量。