2011-02-14 99 views
0

在設計流暢且依賴擴展函數的庫時,提供擴展函數的替代行爲的方法是什麼?在庫中組織擴展功能

因此,舉例來說,做某種格式的庫:

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

鑑於RoundTo,並ToCurrency會擴展功能,這將是改變RoundTo和/或ToCurrency的行爲方式?

謝謝, L-

+0

「改變行爲」是什麼意思?你能舉一個你想達到的例子嗎? – 2011-02-14 19:59:19

+0

[編輯]改寫詞覆蓋爲'提供替代行爲' – lucidquiet 2011-02-14 20:13:15

回答

2

如果通過重寫你的意思是具有擴展函數在基類虛擬和派生類中重寫,則不能 - 擴展函數必須是靜態的,並且靜態函數不能被重寫。

編輯:你的澄清之後,也許你可以寫的庫configuration section(或只使用應用程序設置),讓你的圖書館閱讀的配置參數。