0
我一直在使用C#扩展方法一段时间,我发现它们非常方便。然而,我不确定使用它们的最理想情况是什么,我有时觉得我滥用它们。你什么时候会推荐使用扩展方法?扩展方法的使用
我一直在使用C#扩展方法一段时间,我发现它们非常方便。然而,我不确定使用它们的最理想情况是什么,我有时觉得我滥用它们。你什么时候会推荐使用扩展方法?扩展方法的使用
IMO当它真的是扩展(而不是一个核心/关键操作),或当它是一个快捷方式。
扩展的一个例子:
常在沙箱中的应用程序(但它也可以用在以假乱真使用,当然)与Print
方法延伸IEnumerable
。
打印方法应该不存在(即:它不应该是IEnumerable
类的一部分),但它有助于使语法更简单,更清晰。另外,你可能不希望将它作为该类的一部分出货。
快捷方式的一个例子:
我发现自己经常创造另一件事是帮助扩展与容器对象。而不是调用Items.Add
等,我只是做一个AddItem
扩展方法。
需要考虑的是它只是语法糖,也就是说,它是为你 - 开发者。所以对于.NET类型,当你认为这是一个好主意并且会使事情变得更清洁时,就使用它。
我认为扩展方法是不加入类的行为的地方,因为根据定义,扩展方法只能使用类本身的公共字段/属性/方法。 – Rich 2013-03-03 17:33:52