我在“Klocwork”代码分析中遇到Suspicious dereference of object reference 'dt' before null check
错误。可能是什么解决方案?谢谢!
using (DataTable dt = new DataTable())
{
dt.TableName = "Hello";
dt.Columns.Add("HEllo1", typeof(string));
if (dt != null)
{
}
return dt;
}
在下面的行中获取错误,
if (dt != null)
答案 0 :(得分:1)
行
if (dt != null)
显然,检查dt是否为null。由此,您的分析器假定此时dt可能为null。但是,在此之前,您有以下行:
dt.Columns.Add("HEllo1", typeof(string));
如果dt为null,则会产生NullReferenceException。 这就是为什么你的分析器警告你这里出了问题的原因:它要么是空的,所以空检查是多余的,否则你的代码可能会抛出一个突然的NullReferenceException,你应该添加更多的空检查。 / p>