0
我一直在使用C#擴展方法一段時間,我發現它們非常方便。然而,我不確定使用它們的最理想情況是什麼,我有時覺得我濫用它們。你什麼時候會推薦使用擴展方法?擴展方法的使用
我一直在使用C#擴展方法一段時間,我發現它們非常方便。然而,我不確定使用它們的最理想情況是什麼,我有時覺得我濫用它們。你什麼時候會推薦使用擴展方法?擴展方法的使用
IMO當它真的是擴展(而不是一個核心/關鍵操作),或當它是一個快捷方式。
擴展的一個例子:
常在沙箱中的應用程序(但它也可以用在以假亂真使用,當然)與Print
方法延伸IEnumerable
。
打印方法應該不存在(即:它不應該是IEnumerable
類的一部分),但它有助於使語法更簡單,更清晰。另外,你可能不希望將它作爲該類的一部分出貨。
快捷方式的一個例子:
我發現自己經常創造另一件事是幫助擴展與容器對象。而不是調用Items.Add
等,我只是做一個AddItem
擴展方法。
需要考慮的是它只是語法糖,也就是說,它是爲你 - 開發者。所以對於.NET類型,當你認爲這是一個好主意並且會使事情變得更清潔時,就使用它。
我認爲擴展方法是不加入類的行爲的地方,因爲根據定義,擴展方法只能使用類本身的公共字段/屬性/方法。 – Rich 2013-03-03 17:33:52