gpt4 book ai didi

c# - 单例设计模式中的静态构造函数

转载 作者:行者123 更新时间:2023-11-30 15:27:51 25 4
gpt4 key购买 nike

在 MSDN 上,我发现了两种创建单例类的方法:

public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton Instance {
get {
if (instance == null)
instance = new Singleton();
return instance;
}
}
}

 public sealed class Singleton {
private static readonly Singleton instance = new Singleton();
private Singleton(){}
public static Singleton Instance {
get { return instance; }
}
}

我的问题是:我们能否只使用静态构造函数在首次使用之前为我们生成此对象?

最佳答案

当然可以,您可以使用静态构造函数吗?我不知道为什么你想使用它而不是只使用你展示的第二个例子,但你当然可以。它在功能上与您的第二个示例相同,但只需要输入更多内容即可。

请注意,如果从多个线程访问该属性,则无法安全地使用您的第一个示例,而第二个示例是安全的。您的第一个示例需要使用 lock 或其他同步机制来防止创建多个实例的可能性。

关于c# - 单例设计模式中的静态构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com