3 回答

TA貢獻(xiàn)1757條經(jīng)驗 獲得超7個贊
不訪問任何實例數(shù)據(jù)的方法實際上應(yīng)標(biāo)記為static
:httpsprivate
://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822-mark-members-as-static?view=vs-2017根據(jù)使用情況,它可能仍被聲明為方法。
如果該方法確實訪問了任何實例數(shù)據(jù),則它不能是靜態(tài)的。編譯器強(qiáng)制執(zhí)行此操作。
靜態(tài)方法的常見示例是 exampleString.Format
和Int32.Parse
。在調(diào)用這些方法之前分配 astring
或 an是沒有意義的。int

TA貢獻(xiàn)1775條經(jīng)驗 獲得超11個贊
當(dāng)您不需要該方法來訪問您的類中的任何非靜態(tài)元素時,您可以創(chuàng)建一個靜態(tài)方法。例如考慮DateTime.Parse
方法。您可以像往常一樣創(chuàng)建一個實例,DateTime
但如果您需要解析特定日期,您可以調(diào)用DateTime.Parse
以返回一個有效的 DateTime 而無需創(chuàng)建DateTime
實例本身。由于該方法不訪問 DateTime 類的任何特定元素,因此將其聲明為static
更多信息:
https://www.codeproject.com/Questions/1208992/When-to-use-static-methods-Csharp
https://hackernoon.com/c-static-vs-instance-classes-and-methods-50fe8987b231
- 3 回答
- 0 關(guān)注
- 191 瀏覽
添加回答
舉報