我正在学习 C# 中的单例设计模式,我用两种方式编写了下面的代码,我想知道哪一种是创建单例类的正确方法:
public sealed class TranslationHelper
{
// first way
private static readonly TranslationHelper translationHelper = new TranslationHelper();
// second way
public static readonly TranslationHelper translationHelpers = new TranslationHelper(); // Direct call
public static TranslationHelper GetTranslationHelper()
{
return translationHelper;
}
private TranslationHelper()
{
}
}
Run Code Online (Sandbox Code Playgroud)
称呼:
TranslationHelper instance = TranslationHelper.GetTranslationHelper();
TranslationHelper ins = TranslationHelper.translationHelpers;
Run Code Online (Sandbox Code Playgroud)
我是初学者,所以我不确定这两种方法是否相同。请指导我。