Dot-Net

擴展方法的使用

  • January 23, 2021
  • 什麼時候使用擴展方法有意義?
  • 向類型添加擴展方法會影響性能嗎?

這些問題是我之前提出的關於Extension Methods的問題的後續問題。

什麼時候使用擴展方法有意義?

當您使用 LINQ 並希望將功能輸出從一個函式連結或管道傳輸到另一個函式時,它們是有意義的。它提高了程式碼的可讀性,並允許您更優雅地表達一個概念(無論其價值如何)。

它們還允許您在不修改該類型的原始碼的情況下為您喜歡的任何類型提供實例方法的外觀,這通常有助於合理使用程式碼的可讀性和表現力

向類型添加擴展方法會影響性能嗎?

請注意,擴展方法呼叫如下:

instance.SomeExtensionMethod()

被編譯為:

StaticExtensionMethodClass.SomeExtensionMethod(instance);

因此性能將與任何其他靜態方法呼叫相同。

引用自:https://stackoverflow.com/questions/403619