可能是一个愚蠢的问题,但我对整个“获取和设定属性” - 编程方式都很陌生;
我在代码的这一部分上一直收到编译错误;
private string _File = "Session.xml";
private XmlDocument XmlDoc
{
get
{
XmlDocument _Doc = new XmlDocument();
return _Doc.LoadXml(_File);
}
}
private XmlElement XmlRoot
{
get
{
return XmlDoc.DocumentElement;
}
}
为什么?我无法向自己解释,因为我甚至没有看到任何隐含的转换......
答案 0 :(得分:4)
问题在于这一行:
return _Doc.LoadXml(_File);
您尝试从返回类型为void
的方法返回值。
请改为尝试:
private XmlDocument XmlDoc
{
get
{
XmlDocument _Doc = new XmlDocument();
_Doc.LoadXml(_File);
return _Doc;
}
}
答案 1 :(得分:2)
_Doc.LoadXml(_File);返回void而不是XmlDocument。将您的代码更改为:
private XmlDocument XmlDoc
{
get
{
XmlDocument _Doc = new XmlDocument();
_Doc.LoadXml(_File);
return _Doc;
}
}
答案 2 :(得分:2)
此代码是您的问题:
return _Doc.LoadXml(_File);
LoadXml
方法的返回类型为void
,因为该方法不返回任何值,而是从指定的文件路径填充XmlDocument
实例。
要解决您的问题,只需将您的媒体资源更改为:
private XmlDocument XmlDoc
{
get
{
XmlDocument _Doc = new XmlDocument();
_Doc.LoadXml(_File);
return _Doc;
}
}