什麼是聲明靜態類的好處是什麼?
除了「它不能被實例化」嗎?
爲什麼你還想要一個靜態類,爲什麼類應該是靜態的?
是否「任何類應該被聲明爲靜態的,除非它被實例化」是一個很好的經驗法則?
什麼是聲明靜態類的好處是什麼?
除了「它不能被實例化」嗎?
爲什麼你還想要一個靜態類,爲什麼類應該是靜態的?
是否「任何類應該被聲明爲靜態的,除非它被實例化」是一個很好的經驗法則?
如果一個類則static修飾符:
第一點是最重要的儘管如此,IMO。您正在向編譯器和其他開發人員傳達意圖。
您需要一個靜態類來創建擴展方法。
靜態類可用作實用函數和常量的容器。如果類不代表一個對象並且僅用於此目的,那麼將其聲明爲靜態是有意義的。
實用程序類,它只聲明靜態方法(如System.IO.File)不被實例化,所以它通常是靜態的。
你說得對,我覺得它很好用。辛格爾頓是不同的,因爲它意味着私下立竿見影。
靜態類和類成員 用於創建 可以不創建該類的一個實例 訪問的數據和功能。靜態類 成員可用於分隔數據 以及與任何對象標識無關的行爲:數據和 函數不會更改,而不管 對象發生了什麼變化。當沒有 數據或 依賴於對象標識的類中的行爲時,可以使用靜態 類。
直接從MSDN取得。它比我能解釋得更好。關鍵的事實是,這個對象在整個生命中一直存在。
擴展方法也必須用靜態類編寫。我傾向於使用這些字符串擴展或收集擴展。