来自第 28 行的空引用 '#as(test, 0)' 将在第 28 行取消引用
Null reference '#as(test, 0)' that comes from line 28 will be dereferenced at line 28
我有以下类,
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 错误提示,
Null reference '#as(test, 0)' that comes from line 28 will be dereferenced at line 28
这个错误是什么意思,如何解决?
注意这是Klockwork错误,但是C#编译不会有任何错误。
以下代码行出错,
var a= (test as Test1).Test2;
它会编译,但是 as
有可能结果值可能为空。你可以确保它不会这样抛出:
var test = ConfigurationManager.GetSection("Test") as Test1;
if (test != null)
{
var a = test.Test2;
}
我有以下类,
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 错误提示,
Null reference '#as(test, 0)' that comes from line 28 will be dereferenced at line 28
这个错误是什么意思,如何解决?
注意这是Klockwork错误,但是C#编译不会有任何错误。
以下代码行出错,
var a= (test as Test1).Test2;
它会编译,但是 as
有可能结果值可能为空。你可以确保它不会这样抛出:
var test = ConfigurationManager.GetSection("Test") as Test1;
if (test != null)
{
var a = test.Test2;
}