考虑使用类型初始化实现“标准”C#单例模式的情况:
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
public static Singleton Instance
{
get
{
return instance;
}
}
private Singleton() { }
}
静态属性有什么意义吗?如果将静态字段标记为只读,那么它肯定不能从任何地方进行写入,包括来自类外部的写入。为了更简洁的实现,这样做可以吗?
public sealed class Singleton
{
public static readonly Singleton Instance = new Singleton();
private Singleton() { }
}
我觉得这没问题,但我只看到过第一个被使用,所以我不知道是否有我忽略的错误。