を実装していないオブジェクトに対して LINQ ステートメントを実行できないことはわかっていますIEnumerable<T>
。また、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>
が実装されているかわかりません。ここで何が欠けていますか?