静态字段 - 如果只从类创建一个实例

时间:2017-06-02 14:07:46

标签: c# class static

我一直很难决定何时申报一个静态的课程。 我认为静态字段是在从类创建的所有对象之间共享的,这与每个对象持有的常规非静态字段不同。

然后,如果知道只从一个类创建一个对象(因为我已多次看到这样的情况),静态字段的含义是什么? 如果“static”的定义是“在所有实例之间共享”,那么静态字段与常规非静态字段的作用是相同的,只要从类中只创建一个对象吗?

我从老板那里得到了这个旧项目来学习C#,我看到一些类在一个类中被声明为静态,但是只有一个对象是从类中创建的,我有点困惑,如果它是什么意思没有多个实例。

1 个答案:

答案 0 :(得分:0)

您不应仅仅因为只有一个实例而决定使用static。正如您已经提到的,一个实例。

问题是否应该是静态的取决于您的成员是否依赖于内部,那么您是否需要设置一些可以与该成员共存的属性。因此,即使只有一个实例存在,此实例也会共享一组定义其状态的成员。只有当您的成员可以省略该单个实例中的所有信息时,才应将其标记为静态。

然而,让一些成员static做出很多事情 - 例如嘲笑 - 当你对持有该成员的班级造成严重的依赖时,相当困难