C# System.Xml.Linq.XDocument类是否实现IEnumerable<;T>;?
我知道不能在未实现C# System.Xml.Linq.XDocument类是否实现IEnumerable<;T>;?,c#,linq,C#,Linq,我知道不能在未实现IEnumerable的对象上运行LINQ语句。我还知道可以对XDocument类的实例运行LINQ语句 比如我可以 XDocument people = XDocument.Load(@"People.xml"); var legalDrinkers = from x in people.Descendants("person") where int.Parse(x.Attribute("Age").ToStr
IEnumerable
的对象上运行LINQ语句。我还知道可以对XDocument类的实例运行LINQ语句
比如我可以
XDocument people = XDocument.Load(@"People.xml");
var legalDrinkers = from x in people.Descendants("person")
where int.Parse(x.Attribute("Age").ToString()) > 21
select x;
但是,当我查看XDocument的元数据及其继承层次结构中的所有上游类时,我看不到在哪里实现了
IEnumerable
。这里我遗漏了什么?您不直接从XDocument使用LINQ,而是关闭其中的方法,例如或哪些方法实现了所需的接口。您不直接从XDocument使用LINQ,而是关闭其中的方法,例如或哪些方法实现了所需的接口。请给出一个示例“可以针对XDocument的实例运行LINQ语句”。但示例并不针对XDocument的实例
(+1到Reed Copsey的答案),而是方法返回的节点集合……请显示“可以针对XDocument的实例运行LINQ语句”的示例“。但该示例并不针对XDocument的实例(Reed Copsey的答案为+1),而是由方法返回的节点集合……从技术上讲,这些将是System.Xml.Linq
中的Extensions
类中定义的扩展方法,正确吗?@Tim Nope-这些方法是通过其基类(XContainer
)直接在XDocument
/XElement
上定义的。从技术上讲,这些方法是在System.Xml.Linq
中的扩展
类中定义的扩展方法,正确吗?@Tim Nope-这些方法是通过基类(XContainer
)直接在XDocument
/XElement
上定义的