尽管有框架的指导原则,为什么扩展方法在LINQ中广泛使用?

m.e*_*son 0 .net c# linq extension-methods

扩展方法的文件说:

对于您实现的类库,不应使用扩展方法来避免增加程序集的版本号.

那么为什么.NET团队在Enumerable和Queryable中广泛使用它们呢?

为了寻找一个原因,我查看了我的C#In Depth副本,那里我感觉使用了扩展方法,因为:

  • 您可以以可读的方式将它们链接在一起
  • 您可以将它们带入和移出范围

这是正确的还是.NET团队面对他们自己的文档?是否有其他理由可以证明其使用的合理性?

mat*_*att 5

这不是整个句子.实际写的是:

对于您实现的类库,不应使用扩展方法来避免增加程序集的版本号.如果要为拥有源代码的库添加重要功能,则应遵循标准.NET Framework准则进行程序集版本控制.

(重点补充)

这意味着您应该避免在添加大量功能时向类添加扩展方法,只是为了不增加程序集版本.如果您要引入大量新功能,那么您应该在该程序集的新版本中执行此操作.