猿问

什么时候不要在 C# 中使用 static 关键字?

在 C# 中定义方法时使用 static 关键字是什么不好的做法?我知道static我们可以直接访问类中的函数,而无需创建类的实例。但是什么时候我们不应该使用静态?



红颜莎娜
浏览 143回答 3
3回答

皈依舞

Microsoft在此处对“静态”属性的使用进行了完整的解释。例如,在 Web 框架的体验(.NET Core)中,我们对不需要任何更改的原始值使用静态声明。

长风秋雁

不访问任何实例数据的方法实际上应标记为static:httpsprivate ://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822-mark-members-as-static?view=vs-2017根据使用情况,它可能仍被声明为方法。如果该方法确实访问了任何实例数据,则它不能是静态的。编译器强制执行此操作。静态方法的常见示例是 exampleString.Format和Int32.Parse。在调用这些方法之前分配 astring或 an是没有意义的。int

繁星淼淼

当您不需要该方法来访问您的类中的任何非静态元素时,您可以创建一个静态方法。例如考虑DateTime.Parse方法。您可以像往常一样创建一个实例,DateTime但如果您需要解析特定日期,您可以调用DateTime.Parse以返回一个有效的 DateTime 而无需创建DateTime实例本身。由于该方法不访问 DateTime 类的任何特定元素,因此将其声明为static更多信息:https://www.codeproject.com/Questions/1208992/When-to-use-static-methods-Csharphttps://hackernoon.com/c-static-vs-instance-classes-and-methods-50fe8987b231
随时随地看视频慕课网APP
我要回答