我一直在考虑使用扩展方法来替代抽象基类。扩展方法可以提供默认功能,并且可以通过将具有相同签名的方法放在派生类中来“覆盖”。
我有什么理由不这么做吗?
另外,如果我有两个具有相同签名的扩展方法,使用哪一个?有没有建立优先级的方法?
发布于 2009-01-23 19:40:05
这绝对是个坏主意。扩展方法是静态绑定的,这意味着,除非您在编译时类型为子类型的对象上调用重写,否则仍将继续调用扩展方法。再见多态。This page很好地讨论了扩展方法的危险。
https://stackoverflow.com/questions/474074
复制相似问题