Figure 3 Class Generation

Custom Template
public sealed class <%= ClassName %> 
{
      private static volatile <%= ClassName %> _instance;
      private <%= ClassName %>() {}
      private static readonly object _syncRoot = new object();

      public static <%= ClassName %> Value
      {
            get 
            {
                  if (_instance == null)
                  {
                        lock(_syncRoot) 
                        {
                              if (_instance == null) 
                              { 
                                    _instance = new <%= ClassName %>();
                              }
                        }
                  }
                  return _instance;
            }
      }      
}
SingletonClass
public sealed class SingletonClass 
{
      private static volatile SingletonClass _instance;
      private SingletonClass() {}
      private static readonly object _syncRoot = new object();

      public static SingletonClass Value
      {
            get 
            {
                  if (_instance == null)
                  {
                        lock(_syncRoot) 
                        {
                              if (_instance == null) 
                              { 
                                    _instance = new SingletonClass();
                              }
                        }
                  }
                  return _instance;
            }
      }      
}