【问题标题】:Can singleton class be static?单例类可以是静态的吗?
【发布时间】:2010-08-25 11:51:35
【问题描述】:

单例类可以是静态的吗?

【问题讨论】:

  • 单身日。今天关于他们的第四个问题:)

标签: c# class static singleton


【解决方案1】:

没有。单例类意味着被实例化,因为该术语本身指的是一个实例;如果将其设为静态类,则无法从中创建单例对象。

【讨论】:

  • +1:Singleton 类可能有一个静态方法,通过该方法可以获取 Singleton 对象的实例。
【解决方案2】:

(猫,遇见鸽子。)

是的,但只是在实践中,而不是在理论上。

单例是只能实例化一次的类。静态类不能被实例化,所以不能称为单例。

但是,由于我们谈论的是 C#,静态类具有构造函数,因此它实际上是被实例化的,并且只能有一个实例,因此在我看来很像单例。

【讨论】:

  • 这确实是最好的答案,因为它是唯一在 C# 中指出您实际上可以使用静态 ctor 初始化静态类的答案。按照严格的定义,它不是一个单例,但在所有实际应用中,您都可以将其视为一个。
【解决方案3】:

没有。单例是指类的单个实例。静态类没有实例。

【讨论】:

    【解决方案4】:

    根据定义,单例是一个实例,所以不是。

    但是,您可以有一个静态类,其中方法访问私有静态变量。但这只是将单例推向更深的层次。

    【讨论】:

      【解决方案5】:

      没有单例不能是静态的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-15
        • 2011-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多