我试图了解应用程序中的代码块的作用,但我遇到了一些我不明白的 C#。
在下面的代码中,“controller.Progress +=”行之后的代码是做什么的?
我以前没有见过这种语法,而且由于我不知道这些构造被称为什么,所以我无法通过谷歌搜索任何东西来找出这种语法的含义或作用。例如,值 s 和 p 是什么?它们是占位符吗?
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
using (var controller = new ApplicationDeviceController(e.Argument as SimpleDeviceModel))
{
controller.Progress +=
(s, p) => { (sender as BackgroundWorker).ReportProgress(p.Percent); };
string html = controller.GetAndConvertLog();
e.Result = html;
}
}
看起来它正在将一个函数附加到一个事件,但我只是不理解语法(或 s 和 p 是什么),并且该代码没有有用的智能感知。