C# 空引用'#as(测试,0)和#x27;来自第28行的数据将在第28行取消引用
我有以下课程C# 空引用'#as(测试,0)和#x27;来自第28行的数据将在第28行取消引用,c#,klocwork,C#,Klocwork,我有以下课程 public class Test1 { public Test2 Test2 { get; set; } } public class Test2 { } 现在我有下面的方法 private void Test() { var test = ConfigurationManager.GetSection("Test"); if (test != null) { var a= (test
public class Test1
{
public Test2 Test2 { get; set; }
}
public class Test2 { }
现在我有下面的方法
private void Test()
{
var test = ConfigurationManager.GetSection("Test");
if (test != null)
{
var a= (test as Test1).Test2;
}
}
现在我得到了一个Klockwork错误,说
来自第28行的Null引用“#as(test,0)”将在第28行取消引用
这个错误是什么意思?如何解决
注意这是Klockwork错误,但是C#编译不会有任何错误
代码下一行出现错误
vara=(测试为Test1)代码>它将被编译,但是as
有可能导致结果值为空。您可以确保它不会以这种方式抛出:
var test = ConfigurationManager.GetSection("Test") as Test1;
if (test != null)
{
var a = test.Test2;
}