我正在爲頻率創建轉換類,並且我想讓我的團隊在需要時能夠添加額外的轉換。轉換類擴展性(擴展方法vs Parital Class)
Frequency myFrequency = new Frequency(100, MHz);
double value = myFrequency.InKhz();
的類的源代碼將不被包括在未來的項目,所以我將不得不具有類是部分或類的額外轉換將需要擴展。一個例子是增加一個轉換爲GHz
myFrequency.InGHz()
哪個是最好的方式來處理這個?
更新:在閱讀Randolpho的答案後,我將採用擴展方法。隨着時間的推移,擴展會被放入基本代碼中,但我不想讓其他團隊成員等待更新的程序集,這使得他們可以更快地轉向下一個任務。
謝謝。我從來沒有嘗試過用我描述的方式使用部分類,我只是假設他們會工作。 – 2009-07-22 17:46:18