Каков хороший шаблонный шаблонный шаблон в C #
У меня есть следующий шаблон C # singleton, есть ли способ улучшить его?
public class Singleton<T> where T : class, new()
{
private static object _syncobj = new object();
private static volatile T _instance = null;
public static T Instance
{
get
{
if (_instance == null)
{
lock (_syncobj)
{
if (_instance == null)
{
_instance = new T();
}
}
}
return _instance;
}
}
public Singleton()
{ }
}
Пример предпочтительного использования:
class Foo : Singleton<Foo>
{
}
Related: