c#文档说FirstNode属性返回一个XNode。
public System.Xml.Linq.XNode FirstNode { get; }
但是当我在其上调用GetType()方法时,它显示为System.Xml.Linq.XElement
例如..
var MyElement = new XElement("Base",
new XElement("FirstName", "John",
new XComment("Thats a cool name")),
new XElement("LastName", "Doe")
);
Console.WriteLine(MyElement.FirstNode.GetType());//System.Xml.Linq.XElement
此外,它没有像属性XElements
本身一样适用于FirstNode
的方法。有人可以解释发生了什么。
根据docs,XElement继承自XNode。 FirstNode可以是从XNode继承的任何东西。
因为XElement
是XNode
的后代,并且在这种情况下First
返回的节点是XElement
。
来自文档的类型层次结构:
Object -> XObject -> XNode -> XContainer -> XElement