在BackgroundWorker中插入一些事件
本文关键字:事件 插入 BackgroundWorker | 更新日期: 2023-09-27 18:25:41
我不确定,但当你在一行中完成所有操作时,它被称为内联吗?
我的代码我有这个BackgroundWorker。DoWorker在秒强制执行睡眠,而RunWorkerCompleted只执行任何代码。是否可以像一样在一行中完成所有功能,而不是定义一个函数
.DoWork += ((sender, arg) => { ... });
和
.RunWorkerCompleted += ((sender, arg...
什么是正确的语法,这叫什么?当你手头有一个简单的任务时,保持简单是很好的:-)
您混淆了inlining
和lambda expressions
。Inlining是用方法的主体代替对方法的调用,例如:
int TimesTwo(int x)
{
return x * 2;
}
//before inlining:
int a = TimesTwo(6) + TimesTwo(7);
//after inlining:
int a = 6 * 2 + 7 * 2;
这是一种编译器优化技术,可以避免方法调用开销。
对于BackgroundWorker
示例,正确的语法为:
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (sender, e) => RunMyMethod();
//or
worker.DoWork += (sender, e) => { RunMyMethod(); }
有关详细信息,请参阅MSDN。