【发布时间】:2011-07-26 03:59:36
【问题描述】:
扩展方法是否应该只用于您无权访问其代码的类?
我正在努力想出一个理由来拥有扩展方法而不是使其部分化并将类添加到外部文件中。
我的具体场景如下:我有通过 EF 表示数据库中实体的类。我正在辩论使其呈现部分的类并添加我自己的方法。扩展方法是更有效的替代方法,还是不打算在您可以访问要扩展的类的代码时使用?
【问题讨论】:
-
当你想为一个可以在多个类中实现的接口添加功能时怎么办? (想到 IEnumerable
) -
如果你同时拥有(有些类没有源代码,有些类有源代码)和/或你想要实现的一些相当“通用”的功能,并且也可以在其他类上使用,那么将其作为扩展方法实现是一个好事...直接添加方法(当您有权访问时)会更改该类的接口,这并不总是一件好事,尤其是。在从事不同团队使用该类的大型项目时
标签: c# .net extension-methods