答案 0 :(得分:3)
请注意,许多这些方法都在Interfaces上运行,这是使用扩展方法的完全合法的借口,即使对于Microsoft也是如此,因为接口本身不能有任何方法实现。
答案 1 :(得分:1)
名称建议的扩展方法扩展了目标类型的功能或可用性。
正确使用扩展方法可以消除实际类型定义/实现中的正交混乱(而是在类型定义中关注类型的核心功能)。
以LINQ为例 - 通过向IEnumerable
提供扩展方法,它可以针对大量已发布的类型(以及将来可能编写的大量类型);它分离了正交关注点,例如从实际类型中查询类型。
答案 2 :(得分:1)
记录的扩展方法在IEnumerable<T>
上定义,ObjectSet<T>
实现。
它们已记录在案,因此您知道可以使用它们。
作为扩展方法,他们最终免费扩展实现此接口的任何类型。
答案 3 :(得分:0)
我认为这可能是一个“营销问题”。建议BCL
消费者(我们)使用扩展方法的方法,我们需要它们。
从可用性的角度来看,没有任何善意,imo,将它们整合到BCL