我正在使用Geared版本的LiveCharts构建一个WPF数据可视化工具。 我有一个名为SectionsCollection
的 SectionCollection 对象,我需要在数据更改时重新加载该对象。在重新分配给SectionsCollection
之前,我运行以下代码段。
try
{
if (SectionsCollection != null && SectionsCollection.Count > 0)
{
SectionsCollection.Clear();
}
}
catch(Exception e)
{
Status += "Error in clearing SectionsCollection.n"+e;
}
SectionsCollection = new SectionsCollection();
以下错误间歇性地发生在SectionsCollection.Clear();
行上,并出现标签 NullReferenceException。
Exception thrown: 'System.NullReferenceException' in LiveCharts.Wpf.dll
Additional information: Object reference not set to an instance of an object.
如果我检查SectionsCollection
不为空并且不为空,为什么会出现此错误?
此错误似乎也发生在视觉对象集合和系列集合类型中。
尝试添加标志以防止流程中不需要的多个执行:
bool collIsBusy = false;
try
{
if (SectionsCollection != null && SectionsCollection.Count > 0 && !collIsBusy)
{
collIsBusy = true; //flag to prevent throttling multiple executions
SectionsCollection.Clear();
collIsBusy = false;
}
}
catch (Exception e)
{
Status += "Error in clearing SectionsCollection.n" + e;
}
SectionsCollection = new SectionsCollection();