Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Конструктор singleton`а

1.9K
11 июля 2008 года
burst
94 / / 04.09.2006
Здравствуйте.
Есть класс. Он реализует синглтон.
Код:
public class Manager : Logic.IManager
    {
        private IExecutor executor;
        private List<IMemory> memoriesList;

        private static Manager instance;
        public static Manager GetInstance(List<IMemory> memList, IExecutor executor)
        {
            if (instance == null)
            {
                instance = new Manager(memList, executor);
            }
            return instance;
        }

        private Manager(List<IMemory> memList, IExecutor executor)
        {
            instance = new Manager();
            instance.memoriesList = memList;
            instance.executor = executor;
            foreach (IMemory mem in memList)
            {
                mem.Timer.CounterFires += new EventHandler(Timer_CounterFires);
                mem.StartTimer();
            }
        }

        private Manager()
        {
           
        }


В выделеной строке в instance все поля становятся null, хотя внутри конструктора private Manager(List<IMemory> memList, IExecutor executor) все инициализируется как надо.
В чем ошибка, я не могу никак разобраться !!!
12K
11 июля 2008 года
lifs
163 / / 06.09.2007
потому что в конструкторе ты инициалищируешь instance
 
Код:
instance = new Manager();
instance.memoriesList = memList;
instance.executor = executor;

а надо
 
Код:
this.memoriesList = memList;
this.executor = executor;
241
11 июля 2008 года
Sanila_san
1.6K / / 07.06.2005
А ещё можно воздержаться от синглтонов вообще. На этот счёт как-то было обсуждение в "Общих вопросах".
1.9K
11 июля 2008 года
burst
94 / / 04.09.2006
Да, спасибо, глупая ошибка. Глаз за день замылился )
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог