Я создал класс Singleton в c # с открытым свойством, которое я хочу инициализировать при первом вызове Singleton.
Это код, который я написал:
public class BL
{
private ISessionFactory _sessionFactory;
public ISessionFactory SessionFactory
{
get { return _sessionFactory; }
set { _sessionFactory = value; }
}
private BL()
{
SessionFactory = Dal.SessionFactory.CreateSessionFactory();
}
private object thisLock = new object();
private BL _instance = null;
public BL Instance
{
get
{
lock (thisLock)
{
if (_instance == null)
{
_instance = new BL();
}
return _instance;
}
}
}
}
Насколько я знаю, когда я впервые обращаюсь к объекту Instance BL в классе BL, он должен загрузить конструктор, и это должно инициализировать объект SessionFactory.
Но когда я пытаюсь:
BL.Instance.SessionFactory.OpenSession ();
Я получаю исключение нулевой ссылки и вижу, что SessionFactory имеет значение null ...
почему