|
|
1
9
一些奇怪之处:
编辑
)当然,还有一个
|
|
2
5
我不同意,扩展方法的全部目的是将您的成员添加到黑盒类中。与其他方法一样,也存在陷阱,您必须注意命名、实现和理解方法的优先顺序。 |
|
|
3
4
MoreLINQ 项目:如果您编写一个泛型扩展方法,就不可能确保它可以处理所有类型。我们有一个具有此签名的方法:
您不能将其用于:
因为
|
|
|
4
2
我使用RubyonRails的时间几乎和使用C#的时间一样长。Ruby允许您执行类似于新扩展方法的操作。当然,如果有人将方法命名为相同的方法,可能会有潜在的问题,但是能够将方法添加到封闭类中的优势远远超过了潜在的优势(这可能是由糟糕的设计或糟糕的规划造成的)。 |
|
5
2
要确保扩展方法不会与其他方法(扩展或其他)冲突,可以做的一件事是使用 FxCop 有这样的规则 Prevent Duplicate Extension Method Signatures . |
|
|
6
1
首先,我认为你的措辞有点误导。我想你说的是“类型”而不是“对象”。 其次,扩展方法的最大优点是,您可以向不受控制的类型添加特性。如果控制类型,为什么不直接修改类型而不是依赖扩展方法呢? |
|
|
7
1
我们团队的态度是,扩展方法非常有用,您无法实际禁止它们,但非常危险(主要是因为隐藏问题),您必须谨慎一点。因此,我们决定所有扩展方法名称都必须加前缀
|
|
|
8
1
Net调用的扩展方法也是一种有限的形式 MonkeyPatching (尝试忽略其中的php语言)。
|
|
Akira Takeshi · 如何用JavaScript编写扩展方法 2 年前 |
|
|
Aleksandar · 无法调用枚举扩展方法 2 年前 |
|
|
Codebadger · 将泛型传递给扩展方法 8 年前 |
|
|
Otman IGHOULASSEN · 从子类调用基类的扩展方法 8 年前 |
|
|
sirksel · 拳击弦场或扩展Kotlin中所有弦的替代方案? 8 年前 |