Как пережить синглтон
От: Аноним  
Дата: 22.09.06 13:52
Оценка:
Привет всем! Использую стороннюю библиотеку, в частности объект Logger.Instance для записи сообщений в лог. Есть у меня MainModule — это главный класс приложения, класс также реализует паттерн синлтон. Так вот я хочу чтобы, когда умирал MainModule.Instance в лог писалось некое сообщение, но беда в том, что Logger.Instance умирает быстрее и я уже обращаюсь к объекту. который был отдиспозен. Т.е. сейчас имеем примерно такой код:



private void Main()
{  
   MainModule main = MainModule.Instance;  // Тут создание собственно моего синглтона
}

// class MainModule

public class MainModule
{
    private Logger _logger = Logger.Instance;  // Тут придержживаем ссылку на синглтон, но он все равно умирает раньше

    private MainModule()
    {
    }

    static MainModule()
    {
    }

    private static MainModule _instance = new MainModule();
    public static MainModule Instance
    {
          get { return _instance; }
    }


    ~MainModule()
     {
           _logger.Instance.WriteToLog("End of work");  // Тут exception
     }
}


Не использую паттерн Dispose поскольку не хочу, чтобы моему синглтону кто-то сделал Dispose Как мне лучше сделать? Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.