我有以下情况。在方法中,我有以下代码:
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
答案 0 :(得分:4)
因为列表VulnerabilityVulnerableSystems
尚未初始化。因此Add方法在Null引用上运行。
尝试VulnerabilityVulnerableSystems = new List<VulnerableSystem>();