为什么我们不能在 .Net 中创建静态类的实例

本文关键字:创建 静态类 实例 Net 我们 不能 为什么 | 更新日期: 2023-09-27 18:35:49

根据MSDN

"一个类可以声明为静态的,表明它只包含 静态成员。无法创建静态实例 类使用 new 关键字。自动加载静态类 由 .NET Framework 公共语言运行时 (CLR) 程序 或加载包含类的命名空间。

在对它进行了一些研究之后,我发现静态类不包含实例构造函数。我不明白为什么静态类不包含实例构造函数以及静态关键字的用处是什么。为什么 .Net 不允许我们创建静态类的实例?

为什么我们不能在 .Net 中创建静态类的实例

静态类不包含任何实例成员属性或函数。因此,制作实例将毫无意义。

静态类用于包含在整个程序中具有相同效果的变量、属性和函数。

例如,您可以有一个"设置"类。

它具有所有静态属性。

何时访问(通过静态构造函数)自动从磁盘加载设置文件,如果未找到该文件,则重置为默认设置。

现在,从整个程序中,您只需调用即可访问此类

  • 设置.屏幕大小
  • 设置.根路径

您甚至可以创建一个函数

  • Settings.Save() 将设置保存到磁盘以供下次使用。
  • Settings.Reset() 以恢复默认设置。

这样做的好处是,您的所有设置都将分组到一个位置,并且设置的所有逻辑都放在一个位置。您将始终知道,无论您在哪里调用设置类,都只有一个实例

我希望这有帮助

当我们把类做成静态时,编译器保证不能创建这个类(静态类)的实例。 因此,这些方法不与代码中的特定类对象相关联。

静态

类不能包含实例构造函数,但它可以包含不采用访问修饰符的静态构造函数。在创建第一个实例之前,将自动调用静态构造函数以初始化类。

静态类是密封类,因此不能继承。

可以使用类型名称而不是引用来访问静态成员。