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;
    }