为什么会因为我的方法 returns 为空而抛出 NullReferenceException?

Why would a NullReferenceException get thrown because my method returns null?

如下所示,我的 class 中有一个方法,当它没有成功读取值时,returns 为 null。我假设对象 "test" 只会被设置为 NULL 但由于某种原因会引发错误。

我不明白为什么这会引发错误...

private string myNullFunction() { return null; }
private void myFunction()
{
  object test = myNullFunction();
}

当这不...

private void myFunction()
{
  object test = null;
}

读取函数返回空值。这就是空引用异常存在的原因。

您的示例代码实际上并没有抛出异常。真正的问题显示在异常对话框上方的代码片段中:m_xml.Read 返回 null,但您正在尝试访问值 属性.