C#的扩展方法是否适合大量使用? 本帖最后由 aimeast 于 2010-02-16 21:06:12 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 msdn已经说了通常,建议您只在不得已的情况下才实现扩展方法,并谨慎地实现。只要有可能,必须扩展现有类型的客户端代码都应该通过创建从现有类型派生的新类型来达到这一目的。有关更多信息,请参见继承(C# 编程指南)。 扩展方法无法帮助我们建立一个清楚的版本控制机制,因为一旦在被扩展的类型中添加了一个匹配的签名,就会将现有的扩展方法覆盖,而且不会发出警告。如果对被扩展的类的源代码没有控制权,这个问题还会变得更加突出。另外一个问题在于,虽然Visual Studio的“智能感知”功能支持扩展方法,但假如只是查看调用代码(也就是调用了扩展方法的代码),是不易看出一个方法是不是扩展方法的。总而言之,要慎用扩展方法。 ---- 《C#本质论》 关于用在CS架构下做一个小的地理信息系统的问题 winform程序线程的问题,界面老卡 C#文件名批量修改名称问题 WorkSheet.Columns.AutoFit(); 如果 使用 xml生成该如何设置? 为什么Dataset可以读XML而DataTable不行 问个水晶报表的问题:指定的参数已超出有效值的范围。参数名: value c#语言的逻辑运算,这怎么会有错? DataSet序列化问题 请教各位高手,如何将参数传入App.config文件中?在线等。 C#新问题 求设计模式电子书 推荐个C#的开源项目
通常,建议您只在不得已的情况下才实现扩展方法,并谨慎地实现。只要有可能,必须扩展现有类型的客户端代码都应该通过创建从现有类型派生的新类型来达到这一目的。有关更多信息,请参见继承(C# 编程指南)。
另外一个问题在于,虽然Visual Studio的“智能感知”功能支持扩展方法,但假如只是查看调用代码(也就是调用了扩展方法的代码),是不易看出一个方法是不是扩展方法的。总而言之,要慎用扩展方法。