为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
红颜莎娜 2022-07-23 18:08:11
在 C# 中定义方法时使用 static 关键字是什么不好的做法?我知道static我们可以直接访问类中的函数,而无需创建类的实例。但是什么时候我们不应该使用静态?
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

Microsoft在此处对“静态”属性的使用进行了完整的解释。

例如,在 Web 框架的体验(.NET Core)中,我们对不需要任何更改的原始值使用静态声明。


查看完整回答
反对 回复 2022-07-23
?
长风秋雁

TA贡献1757条经验 获得超7个赞

不访问任何实例数据的方法实际上应标记为statichttpsprivate ://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822-mark-members-as-static?view=vs-2017根据使用情况,它可能仍被声明为方法。

如果该方法确实访问了任何实例数据,则它不能是静态的。编译器强制执行此操作。

静态方法的常见示例是 exampleString.FormatInt32.Parse。在调用这些方法之前分配 astring或 an是没有意义的。int


查看完整回答
反对 回复 2022-07-23
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

当您不需要该方法来访问您的类中的任何非静态元素时,您可以创建一个静态方法。例如考虑DateTime.Parse方法。您可以像往常一样创建一个实例,DateTime但如果您需要解析特定日期,您可以调用DateTime.Parse以返回一个有效的 DateTime 而无需创建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


查看完整回答
反对 回复 2022-07-23
  • 3 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信