Tak więc, z nowym C# 6 mamy te staranne inicjatory auto-własności. Pomyślałem, że równie dobrze mogę wykorzystać je, by tworzyć bardziej zwięzłe singletony niż kiedykolwiek. Najwyraźniej someone else wpadł na ten pomysł.Automatyczny inicjator właściwości Singleton implementacja
public sealed class Singleton
{
public static Singleton Instance { get; } = new Singleton();
private Singleton() { /* some initialization code */ }
}
Moje pytania są następujące:
- Jak bezpieczny wątku to jest?
- Jak leniwy jest lub kiedy instancja jest faktycznie tworzona? (nie priorytet, ale byłoby dobrze na przyszłość)
- Czy to ogólnie dobry pomysł?
(może to wyglądać podobnie do this question, ale to nie jest)