在Lib中组织扩展函数

时间:2011-02-14 19:54:19

标签: c# extension-methods

在设计一个流畅且依赖于扩展函数的库时,什么是提供扩展函数的替代行为的方法?

例如,一个执行某种格式化的库:

(123.456879)
   .RoundTo(2) // Rounds to 2 places
   .ToCurrency() // Applies the appropriate currency symbol
   .ToString()

鉴于RoundToToCurrency是扩展函数,改变RoundTo和/或ToCurrency行为的方法是什么?

谢谢, L -

1 个答案:

答案 0 :(得分:2)

如果通过重写你的意思是在基类中使用虚拟扩展函数并在派生类中重写,则不能 - 扩展函数必须是静态的,并且不能覆盖静态函数。

编辑:在您澄清之后,也许您可​​以为库编写configuration section(或只使用应用程序设置)并让您的库读取配置参数。

相关问题