C# 线程错误 + 后台工作线程组件
本文关键字:线程 工作 组件 后台 错误 | 更新日期: 2023-09-27 18:34:13
当我尝试通过调度程序更新 UI 元素时,我收到一个错误,指出对象引用未设置为对象的实例。
示例代码为 ->
backgroundworker.DoWork += >
{
// do some work here.
// close the progressbar over here
_progressBar.Dispatcher.Invoke(DispatcherPriority.Normal,
new Action( _progressBar.Close);
}
我收到一个错误 对象引用未在 _progressBar.Dispatcher.Invoke 语句中设置,我的应用程序完全挂起。
你确定_progressBar
的值不为空吗?也许它在不同的时间点null
。
我会添加以下行来检查它:
new Action(() => {
if (_progressBar == null){
if (Debugger.IsAttached){
Debugger.Break();
} else {
Debug.Fail("_progressbar is null!");
}
} else {
_progressBar.Close();
}
});