如果我有一个包含许多扩展方法的类,如果我只使用其中一种扩展方法,我是否应该担心“使用”它的开销?
如果是这种情况,我是否应该将所有扩展方法放在他们自己的类中?或者也许有一种“使用”单一扩展方法的方法? (例如:using StringMethods.RecursiveJoin;
?)
答案 0 :(得分:3)
它可能会稍微增加编译时间非常。并且根本没有运行时开销。所以没有理由担心从性能的角度来看。
我唯一担心的是设计是否合适。所有这些方法是否真的应该是扩展方法,或者它们中的一些方法是否比常规静态方法甚至实例方法更好?但是,如果不知道扩展方法的作用,就无法回答这个问题。
答案 1 :(得分:0)
不太确定完全点“开销”是什么,但如果您正在考虑“导入”单个方法,那么这是不可能的。您可以做的是将该方法移动/复制到另一个只使用您的类中,如果它会给代码带来更多“本地化”的感觉(如果没有看到所有项目,很难进行dedcut)。
这将是代码布局架构改进,如果愿意,但不是内存或性能。