Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как создать экземпляр класса, если его конструктор private? / 6 сообщений из 6, страница 1 из 1
24.09.2014, 16:59
    #38756433
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать экземпляр класса, если его конструктор private?
Исследую тут кое-какой недокументированный не статический класс, у которого приватный конструктор (при этом сам он от кого-то ещё и наследуется). Пытаюсь понять, как создать экземпляр такого класса.

Приведите, пожалуйста, пример (на пальцах), когда вообще может понадобиться скрыть конструктор?
...
Рейтинг: 0 / 0
24.09.2014, 17:10
    #38756457
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать экземпляр класса, если его конструктор private?
Nika gnomeПриведите, пожалуйста, примерЕсли ничего не путаю, можно иметь приватные конструкторы при наличии публичных, которые каскадно используют приватный через this

Иметь единственный приватный конструктор кажется смысла не имеет
...
Рейтинг: 0 / 0
24.09.2014, 17:11
    #38756459
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать экземпляр класса, если его конструктор private?
Nika gnome,

Пример: Singleton
...
Рейтинг: 0 / 0
24.09.2014, 17:14
    #38756460
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать экземпляр класса, если его конструктор private?
Nika gnomeПытаюсь понять, как создать экземпляр такого класса.возможно, у класса есть статические методы/свойства, которые могут создавать экземпляры.
...
Рейтинг: 0 / 0
24.09.2014, 17:25
    #38756482
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать экземпляр класса, если его конструктор private?
Да, с этим паттерном знакома..

Я немножко спутала. Не private, а internal. Я нашла другой класс, объект которого имеет свойство, возвращающее значение исходного класса (вернее, там целый каскад этих классов).
А вот самый "верхний" класс в этом каскаде - да, имеет public static поле, которое возвращает самого себя. М-да.
...
Рейтинг: 0 / 0
24.09.2014, 19:38
    #38756656
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать экземпляр класса, если его конструктор private?
Nika gnome,
Обычно скрывают возможность создания экземпляра когда хотят иметь контроль над экземплярами из сборки определения типа
( хочешь иметь экземпляр - пользуйся моей фабрикой или иди нафиг)
создать экземпляр в условиях internal: да нет проблем тынц а потом шлифануть рефлектором ( если надо), самый законный - объявить свою сборку дружественной по отношению к сборке - колыбель типа.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как создать экземпляр класса, если его конструктор private? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]