Как убедить Visual studio designer показать элементы управления, производные от абстрактного базового класса
В настоящее время я работаю над улучшением существующего проекта (он довольно большой), касающегося администрирования экранов (около 250 экранов для ввода данных, настройки и представления результатов). Я решил создать абстрактный базовый класс, который заставляет производные экраны реализовывать некоторые базовые функции.
Теперь я страдаю от проблемы, что дизайнер отказывается показывать затронутые экраны после того, как я их отредактировал (см. Один, Б и С.
Чтобы показать вам свою проблему, я создал тестовую программу, которую вы можете скачать здесь.
После перемещения одной из кнопок на производном экране и перекомпиляции конструктор отказывается показывать пользовательский интерфейс до перезапуска visual studio.
Мне любопытно, можно ли обойти ограничение конструктора без использования # IF DEBUG или промежуточных классов, которые не являются абстрактными.
Заранее большое спасибо,
Роберт
Что я уже пробовал:
Погуглив, я уже решил основную проблему, заключающуюся в том, что дизайнер (Visual Studio 2012 Update 5) обычно не может показывать экраны, производные от абстрактного базового класса, предоставляя TypeDescriptionProvider. Я нашел принцип, который я использую, описанный в здесь.