我试图理解为什么BeginInvoke方法不接受匿名方法。
它告诉我:“无法将‘匿名方法’转换为‘System.Delegate’”,但是,当我将匿名方法强制转换为委托时,它确实有效吗?
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); });