我已经看到这些被用于各种方式,并被指责以错误的方式使用它们(尽管在那种情况下,我用这种方式来证明一点).
那么,您认为采用扩展方法的最佳做法是什么?
开发团队是否应该创建扩展方法库并在各种项目中进行部署?
是否应该以开源项目的形式收集常见的扩展方法?
更新:已决定创建一个组织范围的扩展方法库
即将发布的框架设计指南第2版将为实现扩展方法提供一些指导,但总的来说:
您应该只定义扩展方法"它们具有语义意义"并提供与每个实现相关的辅助功能.
您还应该避免扩展System.Object,因为并非所有.NET语言都能够将扩展方法作为扩展名调用.(例如,VB.NET需要将其称为静态扩展类上的常规静态方法.)
除非您扩展接口,否则不要在与扩展类型相同的命名空间中定义扩展方法.
不要使用与"真实"方法相同的签名定义扩展方法,因为它永远不会被调用.
我认为这取决于扩展方法的目的。
请注意不要全局包含几乎没有应用的扩展方法,因为它们只会阻塞智能感知并可能导致混乱和/或误用。
| 归档时间: |
|
| 查看次数: |
5784 次 |
| 最近记录: |