Je mis en œuvre un modèle Singleton comme celui-ci:Est-ce une implémentation Singleton valide, paresseuse et thread-safe pour C#?
public sealed class MyClass {
...
public static MyClass Instance {
get { return SingletonHolder.instance; }
}
...
static class SingletonHolder {
public static MyClass instance = new MyClass();
}
}
De googler autour de C# implémentations Singleton, il ne semble pas que c'est une façon courante de faire des choses en C#. J'ai trouvé une implémentation similaire, mais la classe SingletonHolder n'était pas statique et incluait un constructeur statique explicite (vide).
Est-ce une manière valide, paresseuse et sans danger pour les threads d'implémenter le pattern Singleton? Ou y a-t-il quelque chose qui me manque?