我们开始使用 C# (.NET 3.0),我想知道你们是如何使用扩展方法的?你什么时候使用它们?
另外,如果您还列出使用它们的所有黑暗先决条件,我将不胜感激。
使用扩展方法的次数:
- 当你不控制扩展的类型时
- 您不想强迫实现者提供可以使用现有方法完成的代码
以第二点为例;你可能有一个扩展方法IList<T>
(例如,Sort
)可以完全使用现有的IList<T>
成员......那么为什么要强迫其他人写任何东西呢?这是 LINQ 的基础块,并允许 Microsoft 提供much更多功能而不破坏任何东西。
时间到not使用扩展方法:
- 当多态性至关重要时;您无法保证您的代码将是使用扩展方法执行的版本,因为直接在类型上的方法优先
- 当您需要访问私有/受保护的成员时
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)