分配系统.操作到后台工作器
本文关键字:工作 后台 系统 操作 分配 | 更新日期: 2023-09-27 18:18:56
我写了一小段代码,将Action
作为委托分配给BackGroundWorker
。
public BackgroundWorker GetBackgroundWorker(System.Action doWork)
{
BackgroundWorker bwk= new BackgroundWorker();
bwk.DoWork += (sender, args) => { args.Result = doWork; };
return bwk;
}
BackgroundWorker wk = GetBackgroundWorker(MY_Delegate);
wk.RunWorkerAsync();
public void MY_Delegate()
{
//DO Stuff
}
长话短说,我想知道为什么方法MY_Delegate
在我用RunWorkerAsync
调用解雇工人后从未进入。
也许我的"=>"周围的赋值语法很糟糕。
无论如何,我欢迎任何有效的方法使其工作
public BackgroundWorker GetBackgroundWorker(System.Action doWork)
{
BackgroundWorker bwk= new BackgroundWorker();
bwk.DoWork += (sender, args) => { doWork(); };
return bw;
}
将doWork分配给参数。结果将不调用DoWork方法。
作为旁注:方法和变量的命名表明你没有完全理解委托、事件和lambda表达式。