簡體   English   中英

為什么visual studio中的extract方法命令會創建靜態方法?

[英]Why does the extract method command in visual studio create static methods?

為什么默認情況下Visual Studio在重構代碼和選擇提取方法時會創建一個私有靜態方法?

如果我正在重構一個非靜態類,並且該方法只在類中可見,為什么它是靜態的?

通過在非靜態類中調用私有靜態方法與非靜態類中的非靜態方法相比,是否有一些性能優勢?

是否可讀性只是簡單地表明該方法不依賴於類的任何成員變量?

為什么默認情況下Visual Studio在重構代碼和選擇提取方法時會創建一個私有靜態方法?

僅當您的方法不訪問任何成員變量/方法/屬性時,它才會執行此操作。 這很好,因為它基本上是基於最少假設的原則運行的:因為您不訪問特定於實例的數據,所以也可以使該方法保持static

通過在非靜態類中調用私有靜態方法與非靜態類中的非靜態方法相比,是否有一些性能優勢?

從理論上講,可能會有但我對此表示懷疑。 但是,使該方法靜態清楚地表明它不會訪問或修改實例數據,我發現這是一個有用的提示。

創建靜態方法可能被視為性能增強,因為沒有“this”指針作為變量傳遞。 我使用ReSharper並且它總是建議在沒有引用類變量的情況下將方法轉換為靜態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM