c# – 扩展方法与继承

有什么经验法则有助于确定在哪种情况下使用?我应该更喜欢一个在其他大多数时间?

谢谢!

扩展方法很有用,但是通过IDE比普通方法更难发现它们,因为它们不附加到原始类,并且没有关于它们的代码可能位于何处的线索。有大约best practice suggestions到哪里放他们和如何命名他们,但这些只是指导方针,并不能保证有人会跟随他们。

通常你会使用扩展方法,如果你只添加功能到一个熟知的,使用良好的类或接口,如.Net基类,你没有访问的代码。扩展方法也有一个约束,你不仅需要有原始的程序集,你必须有程序集中的扩展方法,这必须由你的代码的消费者理解。

使用继承将允许您添加,删除或覆盖功能,并确保它在构建时始终与类一起存在。

http://stackoverflow.com/questions/1132262/extension-methods-versus-inheritance

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 扩展方法与继承