现在是一个理论问题。
据我了解,方法用于实现某种行为,属性用于保留对象的某些状态。
我发现它 XContainer.Nodes()
也XElement.Attributes()
被实现为方法,而不是属性。而且,恕我直言,其他应该作为属性实现的方法:XNode.ElementsAfterSelf()
等等XNode.ElementsBeforeSelf()
XNode.NodesAfterSelf()
。
因此,返回IEnumerable of something
的所有内容都在 Linq to XML 中作为方法(而不是属性)实现。
这是什么原因?我的意思是它是否适用于某些特定情况,或者它只是一个错误,例如String.Split()
方法,它返回char array
而不是更多预期IEnumerable<char>
?