public sealed class Kanojo
{
#region Field
  private static volatile Kanojo _instance;
  private static object syncRoot = new Object();
#endregion

#region Constructor
  private Kanojo() {}
#endregion

#region SingletonInstanceProperty
  public static Kanojo Instance
  {
    get
    {
      if (_instance == null)
      {
        lock (syncRoot)
        {
          if (_instance == null)
            _instance = new Kanojo();
        }
      }

      return _instance;
    }
  }
#endregion

}