如果我有一个包含许多扩展方法的类,如果我只使用其中一种扩展方法,我是否应该担心“使用”它的开销?
如果是这种情况,我是否应该将所有扩展方法放在它们自己的类中?或者也许有一种方法可以“使用”单个扩展方法?(例如,类似:using StringMethods.RecursiveJoin;
?)
问问题
142 次
2 回答
3
它可能会非常非常轻微地增加编译时间。而且根本没有运行时开销。因此,从性能的角度来看,没有理由担心。
我唯一担心的是设计是否好。所有这些方法是否真的应该是扩展方法,或者它们中的一些更适合作为普通的静态方法甚至实例方法?但是如果不知道您的扩展方法做了什么,就无法回答这个问题。
于 2012-05-24T08:41:15.480 回答
0
不太确定“开销”的确切点是什么,但是如果您正在考虑“导入”单个方法,那是不可能的。您可以做的是将该方法移动/复制到另一个仅使用您的类中,如果它会给代码更多“本地化”的感觉(如果不查看所有项目就很难删除)。
这将是代码布局架构的改进,但不是内存或性能。
于 2012-05-24T08:43:22.270 回答