2011-07-23 131 views
1

當其推薦使用的私有靜態方法,而不是私人[實例]的方法?使用私有靜態方法,而不是私有方法在C#

編輯: 我期待有一個良好的(或最佳實踐)有關。我想知道所使用的Microsoft此TECHNIC與否沒有任何人知道的一些事?我發現瞭解釋這個主題的任何博客,文章或樣例源代碼。

任何幫助,將不勝感激。

+0

其他類似的問題:[點擊這裏](http://stackoverflow.com/questions/169378/c-method-can-be-made-static-but-should-it/169423#169423)和[這裏]( http://stackoverflow.com/questions/731763/should-c-methods-that-c​​an-be-static-be-static) – oleksii

回答

3

Static字的方法聲明的開頭,基本上是無狀態的標誌,那麼,什麼是內部發生是一個純粹的動作,或者至少應該是。

如果你想使用private static:使用它像你的類的API函數,只是做一些計算/報告...而不是改變目標,基本上是由instance方法來完成的實際狀態

這是實施的預期方式,這意味着好好嘗試一下是強制性,但因爲它是預期,它會幫助其他開發者理解你的代碼,並幫助理解的代碼給你一對夫婦後多年以來,當你回到你的項目並且已經忘記了一切。

問候。

+1

'static'方法常常有副作用,靜態變量或方法參數。這不是任何「無國籍」的跡象。 –

+0

@Ben:逸岸,我寫的,這是正常現象,但不是強制性的。您始終可以傳遞給在該方法內部更改的類的靜態方法實例。設計選擇的問題。但總的來說,至少在我看靜態方法時,我認爲它應該是不影響狀態的東西。 – Tigran