我有一个应用程序,其中一堆作业不起作用(等待Task.WhenAll ...)并更新表单的进度部分。
我注意到当它运行速度特别快时(例如,当没有太多处理要做,只需检查时),我就会得到以下异常:
InvokeRequired帮助方法是我之前在此网站上找到的方法,看起来像这样:
internal static void InvokeIfRequired<T>(this T control, Action<T> action)
where T : ISynchronizeInvoke
{
if (control.InvokeRequired)
{
control.Invoke(new Action(() => action(control)), null);
}
else
{
action(control);
}
}
有人能告诉我为什么像这样分配标签文本值会引起StackOverflowException吗?
编辑:以下是例外的详细信息
答案 0 :(得分:2)
可能有两种情况: