【发布时间】:2010-11-01 09:47:04
【问题描述】:
我试图理解为什么 BeginInvoke 方法不接受匿名方法。
void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
if (InvokeRequired)
{
//Won't compile
BeginInvoke(delegate(object sender, ProgressChangedEventArgs e)
{ bgWorker_ProgressChanged(sender, e); });
}
progressBar1.Increment(e.ProgressPercentage);
}
它告诉我“无法从“匿名方法”转换为“System.Delegate”,而当我将匿名方法转换为委托时它确实有效?
BeginInvoke((progressDelegate)delegate { bgWorker_ProgressChanged(sender, e); });
【问题讨论】:
-
也看看这个问题:*.com/questions/253138/…
标签: c# .net delegates .net-2.0 anonymous-methods