接受 ReSharper 的建议会破坏这个单例吗?
Will Accepting ReSharper's Suggestion Ruin This Singleton?
我正在用这样的静态初始化实现单例:
internal sealed class MySingleton
{
private static readonly MySingleton instance = new MySingleton();
public static MySingleton Instance => instance;
private MySingleton()
{
// elided
}
}
ReSharper 扭曲了 public 属性 实例并提出将其转换为自动 属性。如果接受修复,结果如下所示:
internal sealed class MySingleton
{
public static MySingleton Instance { get; } = new MySingleton();
private MySingleton()
{
// elided
}
}
这 "fix" 不是让每次调用实例 属性 都会生成一个全新的 MySingleton,从而破坏整个目的,或者 ReSharper 是否有一些关于静态属性的东西知道而我不知道?
它是一个 read-only auto property,使用 C# 6 中引入的语法。右侧的代码仅执行一次,只是初始分配 属性 的值。
我正在用这样的静态初始化实现单例:
internal sealed class MySingleton
{
private static readonly MySingleton instance = new MySingleton();
public static MySingleton Instance => instance;
private MySingleton()
{
// elided
}
}
ReSharper 扭曲了 public 属性 实例并提出将其转换为自动 属性。如果接受修复,结果如下所示:
internal sealed class MySingleton
{
public static MySingleton Instance { get; } = new MySingleton();
private MySingleton()
{
// elided
}
}
这 "fix" 不是让每次调用实例 属性 都会生成一个全新的 MySingleton,从而破坏整个目的,或者 ReSharper 是否有一些关于静态属性的东西知道而我不知道?
它是一个 read-only auto property,使用 C# 6 中引入的语法。右侧的代码仅执行一次,只是初始分配 属性 的值。