如果我有一個包含許多擴展方法的類,我是否應該擔心「使用」它的開銷,如果我只使用其中一種擴展方法?
如果是這樣的話,我應該把所有的擴展方法放在他們自己的類中嗎?或者也許有辦法「使用」一個擴展方法? (例如,如:using StringMethods.RecursiveJoin;
?)使用單個擴展方法浪費開銷嗎?
0
A
回答
3
它可能會稍微增加編譯時間非常非常非常。而且根本沒有運行時間開銷。所以沒有理由擔心從性能的角度來看。
我唯一擔心的是設計是否好。是否所有這些方法都是擴展方法,或者它們中的一些更適合常規的靜態方法甚至實例方法?但是如果不知道你的擴展方法是做什麼的,那麼這個問題就不能得到回答
0
不是很確定什麼是確切點的「開銷」,但如果你想「導入」一種方法,這是不可能的。 可以做的是將該方法移動/複製到另一個類中,該類只使用你,如果它會給代碼更「本地化」的感覺(很難在不看到所有項目的情況下去除)。
這將是代碼佈局架構的改進,如果會,但不是內存或性能。
相關問題
- 1. 是否使用擴展方法ToList <T>()浪費資源?
- 2. 擴展SQLiteOpenHelper是不是浪費時間?
- 3. AutoMapper展開擴展方法
- 4. 是否有許多免費/開源擴展方法庫可用?
- 5. Android的Kotlin擴展開銷
- 6. 使用擴展方法的擴展類
- 7. 使用單聲道擴展方法
- 8. LINQ方法是擴展方法嗎?
- 9. 使用擴展方法
- 10. 使用擴展方法
- 11. .Net - 使用方法擴展?
- 12. 使用Javascript擴展方法
- 13. 擴展方法的使用
- 14. C# - 使用擴展方法
- 15. 使用IEnumerator做一個擴展方法
- 16. 擴展方法 - 必須使用這個關鍵字嗎?
- 17. 擴展方法和擴展屬性是不好的做法嗎?
- 18. 這種訪問數據庫的方法太浪費了嗎?
- 19. 使用TYPO3擴展生成器打開第三方擴展
- 20. 使用擴展方法在EF中投影單個實體
- 21. SWIG Lua:使用%native擴展(%擴展)類。可以添加%native方法嗎?
- 22. 簡單的方法禁用PHP擴展?
- 23. 如何使用'擴展'選項衝浪算法
- 24. 爲Visual Studio Marketplace開發付費擴展
- 25. 無法使用expandPath方法擴展JTree
- 26. 擴展方法
- 27. 擴展方法
- 28. 從Google Chrome擴展程序開發Mozilla Firefox擴展的簡單方法
- 29. 擴展方法可以修改擴展類的值嗎?
- 30. 擴展方法隱藏相關性嗎?
您已標記此[優化] - 更準確的標籤應該是[過早優化]。 – Jamiec
你擔心什麼開銷?編譯成本可以忽略不計,並且幾乎沒有運行時成本。 –
@馬塞洛:那是我的問題,不是嗎?我問 - 我應該擔心。這取決於你告訴我什麼是開銷,如果有的話! :) –