Я разрабатываю свой собственный дизайнер WinForms. Он должен иметь возможность загружать существующие пользовательские формы. Одна из проблем, которые я нажимаю, - это формы без значения по умолчанию ctor: Мой код в настоящее время создает форму, прежде чем она может загрузить ее в конструктор, для которой требуется по умолчанию ctor.Как создатель Winforms создает экземпляр формы?
OTOH, VS2008 способен загружать такие формы. Я считаю, что это фактически не создает экземпляр моей формы (как указано в this question): Даже стандартные ctors не выполняются. И это действительно не выполняет InitializeComponent(). Я просто добавил в эту функцию сообщение и не показывал.
Похоже, что он динамически имитирует пользовательский тип формы и выполняет только части кода в InitializeComponent, который, по его мнению, является релевантным.
Кто-нибудь знает, где я могу найти больше информации о том, как работает конструктор VS.
TIA.
Примечание: Я нашел это related question без убедительные ответы
EDIT: Дополнительная информация: Стив указывает мне CodeDom, что очень insteresting. Моя проблема заключается в том, что типы, которые мне нужно загрузить в мой дизайнер, уже скомпилированы вместо того, чтобы быть доступными в качестве исходного кода. Я не могу найти способ применить десериализацию CodeDom к скомпилированному коду.
Возможно, вам удастся настроить существующие элементы дизайна Windows Forms, а не изобретать их повторно. Они обрабатывают всевозможные сценарии, о которых вы не будете думать, пока ваши пользователи не пожалуются на их недостаток. –
Джон, это точно моя точка. Где вы видите, что я изобретаю что-нибудь? –