为什么我在尝试将对象添加到列表时获得此异常? (EX:对象引用未设置为对象的实例)

时间:2014-05-30 15:10:45

标签: c# .net list exception

我有以下情况。在方法中,我有以下代码:

XmlNodeList n_vulnerablesystemslist = n_alertdocument.SelectNodes(
    "./x:VulnerableSystems/x:VulnerableSystem", nsmgr);

foreach (XmlNode n_vulnerablesystem in n_vulnerablesystemslist)
{
    DataModel.Vulnerability.VulnerableSystem currentVulnerableSystem = 
        new DataModel.Vulnerability.VulnerableSystem();

    currentVulnerableSystem.Title = 
        n_vulnerablesystem.SelectSingleNode("./x:Title", nsmgr) == null 
        ? "" 
        : n_vulnerablesystem.SelectSingleNode("./x:Title", nsmgr).InnerText;
    currentDeepSightVuln.VulnerabilityVulnerableSystems.Add(
        currentVulnerableSystem);
}

VulnerabilityVulnerableSystems Vuln currentDeepSightVuln 对象中定义的以下集合:

public virtual List<VulnerableSystem> VulnerabilityVulnerableSystems
    { get; set; }

问题是,当尝试执行添加操作时,会抛出以下异常:

  
      
  • ex {&#34;对象引用未设置为对象的实例。&#34;}       System.Exception {System.NullReferenceException}
  •   

这在我看来非常奇怪,因为在调试器中我可以看到 VulnerableSystem currentVulnerableSystem 对象已初始化,其标题已正确定价。

那么问题是什么?我错过了什么?我该如何解决?

TNX

1 个答案:

答案 0 :(得分:4)

因为列表VulnerabilityVulnerableSystems尚未初始化。因此Add方法在Null引用上运行。

尝试VulnerabilityVulnerableSystems = new List<VulnerableSystem>();